borisbaer: Update-Methode aktualisiert nicht die entsprechenden Spalten in der Datenbank (ohne Fehlermeldung)

Beitrag lesen

Hallo Rolf,

Und Du übersiehst, dass man grundsätzlich SQL Fehlercodes prüfen und im Fehlerfall das generierte SQL zusammen mit allen verfügbaren Fehlerinformationen loggen muss. Dann weißt Du, was faul ist. Wenn nicht, kann ein Blick ins SQL Handbuch lehrreich sein.

ich erhalte für gewöhnlich Fehlermeldungen, wenn es Probleme mit dem SQL-Code bzw. der Datenbank gibt. Auch steht bei mir im Conctructor der Datenbank bereits $this -> pdo -> setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );. Mir scheint, da ist nicht das Problem.

Nebenbei 1: In generiertem SQL sollte man Tabellen- und Spaltennamen in Backticks einschließen

Das habe ich ergänzt, wobei es auch ohne klappt.

Nebenbei 2: Du solltest auch keine Defaultwerte für $columns und $conditions vorgeben. Ein leeres Array dürfte für beide Parameter keinen Sinn ergeben. Du solltest statt dessen eine Abfrage einbauen, ob mindestens ein Eintrag drin ist.

Das ist deshalb drin, weil die Klasse bei nicht definierten columns-Parametern sämtliche in der Klasse vorgegeben Spalten aktualisiert.

Ich denke, ich bekomme keine Fehlermeldung, weil es evtl. kein Fehler ist, sondern es einfach anders funktioniert, als ich es beabsichtige. Immerhin wird ja etwas aktualisiert, aber nicht richtig. Der erste Wert wird immer zu einer „0“. Der zweite bleibt gleich. Das heißt ja, eine Aktualisierung hat stattgefunden, nicht? 🤔

Grüße
Boris