futura2 - mobile - affluenze
Inviato: lun mag 27, 2024 12:49 pm
bug nella visualizzazione delle affluenze l'applicazione va in eccezione,
/client/temi/futura2/function_theme-php
problema: nuove versioni di mysql, ad esempio noi usiamo: 8.0.36-0ubuntu0.22.04.1
non accettano la query
il problema è che un campo data non può essere castato a stringa vuota e quindi genera l'errore:
PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1525 Incorrect DATE value: '' in /var/www/eleonline/trunk/client/temi/Futura2/function_theme.php:984\nStack trace:\n#0 /var/www/eleonline/trunk/client/temi/Futura2/function_theme.php(984)
abbiamo fixato nel seguente modo:
vorrei sapere se questo può causare qualche problema o se è un fix corretto.
grazie
/client/temi/futura2/function_theme-php
Codice: Seleziona tutto
########################################################
# Affluenze
function affluenze_mob() {
global $bgcolor1, $bgcolor2, $prefix, $dbi, $offset,$genere,$votog,$votol,$votoc,$circo, $min,$id_cons,$tipo_cons,$id_cons_gen,$csv,$id_comune,$id_circ, $tema;
// icone
if ($circo) $circos="and t2.id_circ='$id_circ'";
else $circos="";
if (!$csv)
// numero sezioni scrutinate
//if ($circo)$circos="and id_circ='$id_circ'";
if (!isset($data1)) $data1='';
if (!isset($ora_ril)) $ora_ril='';
$sql="SELECT count(data) FROM ".$prefix."_ele_voti_parziale as t3 left join ".$prefix."_ele_sezioni as t1 on t3.id_sez=t1.id_sez left join ".$prefix."_ele_sede as t2 on t1.id_sede=t2.id_sede where t1.id_cons='$id_cons' and data='$data1' and orario='$ora_ril' $circos group by t3.id_gruppo";
$res1 = $dbi->prepare("$sql");
$res1->execute();
non accettano la query
Codice: Seleziona tutto
where data=''
PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1525 Incorrect DATE value: '' in /var/www/eleonline/trunk/client/temi/Futura2/function_theme.php:984\nStack trace:\n#0 /var/www/eleonline/trunk/client/temi/Futura2/function_theme.php(984)
abbiamo fixato nel seguente modo:
Codice: Seleziona tutto
#if (!isset($data1)) $data1='';
#if (!isset($ora_ril)) $ora_ril='';
if (!isset($data1)) $data1='1900-01-01';
if (!isset($ora_ril)) $ora_ril='00:00';
grazie