Un altro motivo per cui otterresti 0 righe interessate è se UPDATE
l'istruzione non corrisponde a nessuna riga. Ad esempio:
UPDATE MyTable SET field = 'content' WHERE id = 1234;
Fornisce 0 righe interessate se non esiste alcuna riga con id = 1234
. Neanche questo è un errore, è solo un UPDATE
che non corrisponde a nessuna riga.
Il modo per rilevare questo caso è usare SELECT
per verificare che esista tale riga. Se puoi confermare la riga esiste, ma il UPDATE
detto che interessava 0 righe, quindi sai che i valori che hai provato a modificare erano in realtà le righe già nel database.
SELECT COUNT(*) FROM MyTable WHERE id = 1234;
Ma la distinzione potrebbe non essere importante. Potresti segnalare un errore se mysql_error()
dice che ce n'è uno, come suggerisce @BoltClock.*Se non ci sono errori puoi semplicemente segnalare "nessuna modifica" all'utente.