Ein weiterer Grund, warum Sie 0 betroffene Zeilen erhalten, ist, wenn UPDATE
Anweisung stimmt mit keinen Zeilen überein. Zum Beispiel:
UPDATE MyTable SET field = 'content' WHERE id = 1234;
Gibt 0 betroffene Zeilen zurück, wenn keine Zeile mit id = 1234
existiert . Auch das ist kein Fehler, sondern nur ein UPDATE
das zufällig mit keiner Zeile übereinstimmte.
Um diesen Fall zu erkennen, verwenden Sie SELECT
um zu überprüfen, ob es eine solche Zeile gibt. Wenn Sie bestätigen können, dass die Zeile existiert, aber UPDATE
sagte, es seien 0 Zeilen betroffen, dann wissen Sie, dass die Werte, die Sie zu ändern versuchten, tatsächlich die Zeilen waren, die sich bereits in der Datenbank befanden.
SELECT COUNT(*) FROM MyTable WHERE id = 1234;
Aber die Unterscheidung ist vielleicht nicht wichtig. Sie könnten einen Fehler melden, wenn mysql_error()
sagt, dass es einen gibt, wie @BoltClock vorschlägt.*Wenn es keinen Fehler gibt, können Sie dem Benutzer einfach "keine Änderung" melden.