Hallo!
Wenn du wirklich die Werte 'Horst Lichter' und 'Köln' im Script vorliegen haben willst, dann muesstest du sie trotzdem vorher in Variablen "stecken", und diese beim binden angeben.
Danke, Chris, soweit klappt es. Wenn ich da gleich 2 Folgefragen stellen darf:
- Ich habe im php-Header utf-8 als Codierung angegeben, zusätzlich hat die entstehende Seite ein "<meta http-equiv="content-type" content="text/html; charset=utf-8" />", die Datenbank hat Standartmäßig als Kollation "utf8_unicode_ci". Zusätzlich hat jede Zeile der Tabelle die selbe Kollation. Ich wüßte also nicht, wo ich NOCH utf-8 als Kodierung einstellen soll.
Trotzdem landet mein "Köln" als "Köln" in der DB. (Wenn ich es _direkt_ eingebe, also über phpmyadmin, wird es korrekt angezeigt!)
Was muß ich denn tun/ändern, damit Köln auch als Köln in der DB steht, wenn es via php zur Datenbank kommt?
- Auf php Buddy habe ich zum "binding" Folgendes gefunden:
"Hier binden wir Variablen an das Statement das wir zuvor an die DB geschickt haben. Der erste Parameter, hier 'ss', teilt der Datenbank mit um welche Daten es sich handeln wird, die in die DB geschrieben werden sollen. Anhand dessen wird die DB eigenständig das escapen (unschädlich machen von Benutzereingaben) übernehmen - dieser Parameter stellt also eine Typbezeichnung dar."
Heißt das etwa jetzt, daß ich mich nicht mehr um SQL Injection kümmern muß? Oder anders ausgedrückt: Ist das, was auf der mysql_real_escape_string-Seite im PHP-handbuch unter Beispiel 3 steht, jetzt zu vergessen, wenn ich bei mysqli bleibe???
Danke im Voraus!