Salve, sono nuovo nel gruppo, spero che qualcuno di voi possa aiutarmi a risolvere un problema di UPDATE in MySQL inviato da una pagina PHP:
Copio l'istruzione:
Grazie in anticipo
Copio l'istruzione:
PHP:
$soggetti = array(71 , 72 , 73 , 74);
$punti1 = array(1, 2 , 3 , 0);
$punti2 = array(1, 1 , 2 , 0);
$punti3 = array(2, 3 , 5 , 0);
foreach($soggetti as $a => $id)
for($x=0; $x<count($a); $x++){
$lista_soggetti[] = ("UPDATE `soggetti` SET ".
" `data_modifica` = 2019-10-09 , ".
" `utente` = 'pippo.pippo' , ".
" `estratto` = 'SI' , ".
" `punti_1` = ".$punti1[$a]." , ".
" `punti_2` = ".$punti2[$a]." , ".
" `punti_3` = ".$punti3[$a]." , ".
" `data_estrazione` = 2019-10-09 ".
" WHERE `soggetto` = ".$soggetti[$a]."; ");
}
$lista_soggetti_estratti = implode($lista_soggetti);
echo '<pre>'.print_r($lista_soggetti_estratti).'</pre>';
mysql_query($lista_soggetti_estratti)or die('errore: '. mysql_error());
Questo è il messaggio di errore che mi da la pagina:
UPDATE `soggetti` SET `data_modifica` = 2019-10-09 , `utente` = 'pippo.pippo' , `estratto` = 'SI' , `punti_1` = 1 , `punti_2` = 1 , `punti_3` = 2 , `data_estrazione` = 2019-10-09 WHERE `soggetto` = 71; UPDATE `soggetti` SET `data_modifica` = 2019-10-09 , `utente` = 'pippo.pippo' , `estratto` = 'SI' , `punti_1` = 2 , `punti_2` = 1 , `punti_3` = 3 , `data_estrazione` = 2019-10-09 WHERE `soggetto` = 72; UPDATE `soggetti` SET `data_modifica` = 2019-10-09 , `utente` = 'pippo.pippo' , `estratto` = 'SI' , `punti_1` = 3 , `punti_2` = 2 , `punti_3` = 5 , `data_estrazione` = 2019-10-09 WHERE `soggetto` = 73; UPDATE `soggetti` SET `data_modifica` = 2019-10-09 , `utente` = 'pippo.pippo' , `estratto` = 'SI' , `punti_1` = 0 , `punti_2` = 0 , `punti_3` = 0 , `data_estrazione` = 2019-10-09 WHERE `soggetto` = 74;
errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE `soggetti` SET `data_modifica` = 2019-10-09 , `utente` = 'pippo.pippo' at line 1
Premetto che, incollando la stringa dell'UPDATE su MySQL funziona perfettamente, e funziona anche dalla pagina PHP se il dati si riferiscono ad un solo record, ho provato anche mettendo dati all'interno degli apici, cioè cosi:
$soggetti = array(71 , 72 , 73 , 74);
$punti1 = array(1, 2 , 3 , 0);
$punti2 = array(1, 1 , 2 , 0);
$punti3 = array(2, 3 , 5 , 0);
foreach($soggetti as $a => $id)
for($x=0; $x<count($a); $x++){
$lista_soggetti[] = ("UPDATE `soggetti` SET ".
" `data_modifica` = '2019-10-09' , ".
" `utente` = 'pippo.pippo' , ".
" `estratto` = 'SI' , ".
" `punti_1` = ' ".$punti1[$a]." ' , ".
" `punti_2` = ' ".$punti2[$a]." ' , ".
" `punti_3` = ' ".$punti3[$a]." ' , ".
" `data_estrazione` = '2019-10-09' ".
" WHERE `soggetto` = ' ".$soggetti[$a]." '; ");
}
Ultima modifica di un moderatore: