Sonderzeichen im Eingabe-Formular

Hi,

das Problem habe ich vorerst umgangen, indem ich eine, wenn auch etwas unkonventionelle
Lösung angewendet habe. ;)

Vor der Übertragung in die DB-Tabelle habe ich die Single-Quotes durch ` ersetzt, was vom
Aussehen her einem Apostroph sehr ähnelt.
Da die Verwendung der Eintragung lediglich kurzfristig für eine Wunsch-Liste gedacht ist,
kann ich vorübergehend mit dieser Alternative leben.

Wenn ich mal etwas mehr Zeit habe, werde ich mir alle hier eingebrachten Vorschläge zur
Problem-Lösung noch einmal ansehen und dann erneut versuchen, diese umzusetzen.

Vielen Dank trotzdem für eure schnelle Hilfe.

Gruß, Mike
 
Hallo,

mysql_real_escape_string
Zitat:
Code:
Maskiert spezielle Zeichen im unescaped_string  unter Berücksichtigung des aktuellen Zeichensatzes der Verbindung
und
Code:
Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen.
Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre.

Daher braucht die Funktion eine bestehende Verbindung und du erhälst deine genannte Fehlermeldung.

Da für deinen Anwendungsfall User-Daten in deine Query eingebaut werden, kann ich dir nur dringenst empfehlen die Funktion zu nutzen oder zumindest die Funkionalität (aufgrund fehlender DB-Verbindung) nachzubauen, und zwar richtig, wie beschrieben:
Code:
[...] folgende Zeichen mit einem Backslash ('\') versieht: \x00, \n, \r, \, ', " und \x1a.

Ansonsten hast du ganz schnell die SQL-Injections von automatisierten bösen Scripts ausgenutzt.
 
Zurück