QueenBitch: SQL Abfrage: wo liegt mein Fehler

Beitrag lesen

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.

Wollte nur wissen ob ihr auch aufpasst... hüstel

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.

Jaaa, jetzt so noch der korrektur kleinerer Fehler ändert er die meisten Einträge:

$aendern = "UPDATE spr_inhalt SET in_zeile1='$newstr' WHERE in_zeile1 = '$row->in_zeile1'";
if (!$conn->query($aendern)) {
	printf("Errormessage: %s\n", $conn->error);
			}

Bei einigen Einträgen motzt er noch - liegt wohl an den ' im String, auf zum maskieren...

Danke

Shadowcrow

--
Lächle, Du kannst sie nicht alle töten....