Een andere reden waarom u 0 betreffende rijen krijgt, is als de UPDATE
verklaring komt overeen met geen rijen. Bijvoorbeeld:
UPDATE MyTable SET field = 'content' WHERE id = 1234;
Geeft 0 betrokken rijen als er geen rij bestaat met id = 1234
. Dit is ook geen fout, het is gewoon een UPDATE
die toevallig geen rijen overeenkwam.
De manier om dit geval te detecteren is door SELECT
. te gebruiken om te controleren of er zo'n rij is. Als u kunt bevestigen dat de rij bestaat, maar de UPDATE
zei dat het 0 rijen beïnvloedde, dan weet je dat de waarden die je probeerde te veranderen in feite de rijen waren die al in de database stonden.
SELECT COUNT(*) FROM MyTable WHERE id = 1234;
Maar het onderscheid is misschien niet belangrijk. U kunt een fout melden als mysql_error()
zegt dat er een is, zoals @BoltClock suggereert. *Als er geen fout is, kun je gewoon "geen verandering" aan de gebruiker melden.