Tom: mysql. Nach Update, wie bekomme ich mit, ob es erfolgreich

Beitrag lesen

Hello Dedlfix,

mysql_query("UPDATE tabelle SET name='$name' WHERE id=1");
Wenn die id mit der 1 nicht vorhanden ist, wird kein Datensatz gändert. Gibt es dann irgendeine Fehlermeldung die ich mir ausgeben kann, so das ich sehen kann wenn kein Datensatz geändert wurde?

Die Anzahl der betroffenen Zeilen (affected Rows) ist in dem Fall 0. Das ist sie in beiden Fällen, also wenn kein Datensatz gefunden wurde und wenn der Datensatz zwar vorhanden aber der neu einzutragende Wert bereits enthalten ist. Wenn du das unterscheiden willst, musst du auf mysqli umsteigen und beim Verbinden das Flag CLIENT_FOUND_ROWS angeben. (Siehe MySQL-C-API-Funktion mysql_affected_rows())

Wäre es ggf. zumutbar für Dich, das Szenario mal ausführlich zu beschreiben, sodass man das dann in die Tipps-Sammlung oder in die SQL-Reihe aufnehmen könnte?

#---

Ich selber versuche mich da gerade an der Darstellung der vertikalen Rechte sowie die Problematik von Mehrfachzugriffen ("Academic Locking", das mit der Viertelstunde...) in einem Datenbestand mit Hilfe von Stored Procedures und Sessions, da das in der letzten Zeit doch öfter mal kam. Muss nur noch die Vinzenzsche Darstellungsart für die SQL-Statements eine Weile üben. Die gefällt mir gut, weil sie leicht lesbar ist.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de