dedlfix: SQL Abfrage: wo liegt mein Fehler

Beitrag lesen

Tach!

Anscheinend habe ich einen Fehler in meinem UPDATE Query (denn es passiert absolut nichts), aber wo?

Es gibt z.B. in mysql die Methode mysql_error(), wenn ich mich recht erinnere, von der man Fehlermeldungen der Datenbank bekommt, die man sich anzeigen lassen könnte. Wenn du die Möglichkeit dazu hast und folgende Tipps nicht helfen, versuche die Fehlermeldungen der Datenbank zu bekommen und zu lesen.

Im Prinzip ist das beste Art und Weise, sich dem Fehler zu nähern. Die verwendete Funktion muss nur zum verwendeten System passen, wie schon von CK festgestellt.

$aendern = "UPDATE spr_inhalt SET in_zeile1 WHERE in_zeile1 ==".$row->in_zeile1;
$query2 = $conn->query ($aendern);

In deinem SQL würde ich spontan auf die doppelten Gleichheitszeichen tippen. In SQL kenne ich Vergleiche mit nur einem =.

Zum einen das, zum anderen muss man, wenn man einen Wert setzen möchte, auch was angeben, was man denn zu setzen beabsichtigt.

Wenn außerdem in $row->in_zeile1 ein String stehen sollte, fehlen die umschließenden Anführungszeichen.

Nicht nur die, denn es können in den Strings seinerseits Anführungszeichen stecken und dann gibts einen weiteren Syntaxfehler oder gar schlimmeres. Dazu kann man die zum System passende Maskierfunktion verwenden. Besser ist aber, Prepared Statements zu verwenden, wenn diese zur Verfügung stehen. Dann gehen Statement und Werte getrennte Wege und man muss sich nicht um eine korrekte Einbettung kümmern.

dedlfix.