View Full Version : [MySQL] UPDATE SET non fa
bouncey2k
16-12-2007, 10:49
Ho creato un pannello in html per aggiornare dei dati nel database.
pannello.php?id=2 mi mostra i dati inseriti nel record 2 del mio database e siccome me li mostra come semplici input text ho la possibilità di modificarli.
i dati li invia a pannello2.php tramite form. Faccio la connessione al database e poi inserisco la seguente query che però non funziona:
$update = mysql_query ("UPDATE tabella SET
id = '$id' ,
titolo = '$titolo' ,
testo = '$testo'
WHERE id = '$id'
" , $db);
Ponendo WHERE id = '$id' dovrebbe selezionarmi il record numero 2 o no? C'è un qualche errore nella query?
Ehm, ma l'errore? Tiro ad indovinare?
Se la colonna id è auto_increment non dovresti mai avere bisogno di aggiornarla manualmente.
E se il tipo di tabella è numerico, non dovresti usare gli apici (per esempio ancora su id), non mi ricordo se è obbligatorio o no...
UPDATE tabella SET titolo = '$titolo', testo = '$testo' WHERE id = '$id'
bouncey2k
16-12-2007, 18:35
Ehm, ma l'errore? Tiro ad indovinare?
Se la colonna id è auto_increment non dovresti mai avere bisogno di aggiornarla manualmente.
E se il tipo di tabella è numerico, non dovresti usare gli apici (per esempio ancora su id), non mi ricordo se è obbligatorio o no...
ma l'id infatti non lo aggiorno mai, lo metto per avere tutti i parametri sotto mano. Qual è l'errore? L'errore è che se cambio un parametro (per esempio il titolo) non me lo aggiorna, è come se il comando UPDATE non funzionasse. Che c'entra il tipo di tabella??
Uh non il tipo della tabella, il tipo del campo (int, varchar..)...
Prova a fare la stessa query con phpmyadmin, oppure chiama mysql_affected_rows dopo aver fatto la query.
bouncey2k
16-12-2007, 22:48
Uh non il tipo della tabella, il tipo del campo (int, varchar..)...
Prova a fare la stessa query con phpmyadmin, oppure chiama mysql_affected_rows dopo aver fatto la query.
Da phpmyadmin funziona.. ovviamente.
Cmq da phpmyadmin mi da questo comando
UPDATE `tabella` SET `titolo` = '$titolo' WHERE `tabella`.`id` =2
questa query mostra una concatenazione di tabella e id e forse è qui l'errore. Ma come faccio a concatenarle con la sintassi usata nel mio primo post?
Prova con
$update = mysql_query ("UPDATE tabella SET
id = '$id' ,
titolo = '$titolo' ,
testo = '$testo'
WHERE id = '$id'
" , $db) or die("Errore: ".mysql_error())
magari hai qualche errore con gli apici!
ma ti viene restituito qualche errore?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.