Onkel Hans: Datensatzlöschung kontrollieren

Beitrag lesen

Hi Andreas,

Danke für Deine Hilfe!

Ich sehe da einen deutlichen Unterschied.
Du versuchst, ->affected_rows auf das anzuwenden, was $db->query(...) zurückgibt.
Dort im Beispiel wird ->affected_rows auf das Objekt angewendet, auf das auch ->query angewendet wird (dort ist das $mysqli, bei Dir wäre das $db)

Du hast Recht, wenn ich meinen ursprünglichen Code auf if($db->affected_rows==1) ändere, dann erscheint der Warnhinweis nicht mehr. Und ich sehe auch auf der Handbuchseite jetzt, dass ich das affected_rows auf die Datenbankverbindung bezieht.

Nur _verstehen_ tue ich das nicht so ganz. Wenn ich  mir folgende Zeile ansehe:

$loeschung=$db->query("DELETE FROM 11_dbtestWHEREid=$id");

Dann interpretiere ich das so: Das Query, das zur Löschung aller Datensätze mit einer erfüllten Bedingung führt, wird über die vorher eröffnete Datenbankverbindung "$db" an die Datenbank gesendet. Und dieser Vorgang, also das Senden des Querys, heißt "$loeschung". Und ich möchte ja wissen, wie viele Datensätze waren von diesem gesendeten Query betroffen, also wäre da nicht if($loeschung->affected_rows==1) logischer?

Liebe Grüße

Onkel Hans