Sven Rautenberg: Verstehe die Fehlermeldung nicht.

Beitrag lesen

Moin!

Ich habe keine Ahnung, da du ja immer noch nicht den kompletten Query, wie er tatsächlich vorliegt, gepostet hast, sondern immer eigenständig Kürzungen vorgenommen hast, die eventuell gerade den Fehler enthalten haben könnten.

Nene, da war ich mir schon recht sicher, dass es mal wieder die Anführungszeichen waren.

ID = "$RRB_ID"  funktioniert bestens ;-)

Sind aber die falschen Anführungszeichen. Einfache '' sind richtig. Nur die funktionieren auch mit mysql_real_escape_string().

  1. Alle Inhalte von PHP-Variablen müssen immer durch die Funktion mysql_real_escape_string() in den SQL-String eingefügt werden.

Bei jedem Query? Egal, ob insert, select, update...?

Ja, immer. Weil in der Variable Zeichen enthalten sein könnten, die SQL nicht "nackt" im Query stehen haben darf. Offensichtlich ist es, wenn ein einfaches Anführungszeichen in der Variablen vorkommt, und der Variableninhalt insgesamt durch einfache Anführungszeichen abgegrenzt wird. Dann stehen da drei einfache Anführungszeichen hintereinander - das kann nur Murks ergeben.

Abgesehen davon sind auch noch ein paar andere Zeichen zwingend zu Escapen - da mysql_real_escape_string() exakt weiß, welche das sind, muss ich sie mir nicht im Kopf merken - ich muss mir nur merken, immer zu escapen.

- Sven Rautenberg

--
"Love your nation - respect the others."