dedlfix: Datensatzlöschung kontrollieren

Beitrag lesen

Hi!

Statt irgendwelche Dinge da reinzuinterpretieren, solltest Du schlicht und einfach das Handbuch für die von Dir verwendeten Funktionen angucken. Das hilft mehr als wildes Rumraten.

Und mit var_dump() nachschauen, was wirklich da ist. var_dump($loeschung) zeigte in dem Fall ein FALSE. Aber auch wenn ein Objekt zurückkäme, könnte man sehen, welcher Klasse es angehört und dann im Handbuch nachschlagen, welche Methoden und Eigenschaften zur Verfügung stehen.

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

@Hans: Probier das mal mit

$id = "0 OR 1";

dann ist der Datensatz garantiert gelöscht. Allerding auch noch der eine oder andere mehr. Lösung: Kontextwechsel beachten.

Ist es wirklich notwendig den Erfolg der Löschung anhand der Anzahl der betroffenen Datensätze festzumachen? Aus dem Problem entnehme ich, dass keine Fehlerbehandlung stattfindet, der Rückgabewert von mysli::query() nicht auf Fehler (false) oder Erfolg (true) ausgewertet wird. Wenn es nicht wichtig ist, ob tatsächlich _ein_ Datensatz gelöscht wurde, sondern nur festgestellt werden soll, ob die Operation fehlerhaft war (warum auch immer) oder erfolgreich verlief (auch wenn nichts gelöscht werden konnte), dann reicht auch die normale Fehlerbehandlung (die immer wieder gern unter den Tisch fällt).

Lo!