$_POST String für Speicherung in Datenbank vorbereiten.
Anne Sschenker
- php
0 Tobias Kloth0 Andreas Korthaus0 Dude
Hallo,
auf meiner Internetseite gibt es für den Administrator die Möglichkeit, Daten in ein Formularfeld einzugeben, welche dann in einer MySQL Datenbank gespeichert werden und daraus auch wieder ausgelesen werden.
Jetzt gibt es aber folgendes Problem:
schreibe ich in das Textfeld ein ´ (wie z.B. Wies´n), gibt es Probleme beim eintragen, da der SQL Query, welcher gebildet wird, dieses Zeichen als Begrenzung für einen Spaltennamen hält.
Nun meine FragE:
Wie muss ich den übermittelten POST String mit PHP "bearbeiten", damit es nacher keine Probleme mit dem SQL Query gibt. Sicherlich macht MySQL auch noch bei anderen (SOnder)zeichen Probleme. Wie kann ich dies alles erschalgen und sicher gehen, damit der Query richtig wird?
Vielen Dank für Euere Hilfe
Anne
Hallo Anne,
Wie muss ich den übermittelten POST String mit PHP "bearbeiten", damit es nacher keine Probleme mit dem SQL Query gibt. Sicherlich macht MySQL auch noch bei anderen (SOnder)zeichen Probleme. Wie kann ich dies alles erschalgen und sicher gehen, damit der Query richtig wird?
mysql_escape_string() sollte helfen ->http://www.php.net/mysql_escape_string
Grüße aus Nürnberg
Tobias
Hallo!
Wie muss ich den übermittelten POST String mit PHP "bearbeiten", damit es nacher keine Probleme mit dem SQL Query gibt. Sicherlich macht MySQL auch noch bei anderen (SOnder)zeichen Probleme. Wie kann ich dies alles erschalgen und sicher gehen, damit der Query richtig wird?
Gucke Dir mal folgende Funktion an: http://de2.php.net/manual/de/function.mysql-escape-string.php
Grüße
Andreas
Hi,
Eine Möglichkeit wäre diese:
mysql_query("INSERT INTO tabelle (text) VALUES (".mysql_escape_string('Apotheke in der Wies`n').")");
Dieser Befehl setzt einen Backshlash() vor jedes Sonderzeichen ausser _ und % und verhindert damit auch ein Ausführen von SQL-Befehlen.