Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mysql Real Escape String PHP-Funktion Hinzufügen von \ zu My Field Entry

Wenn Sie Ihre $content-Daten aus einem Formular (und nicht "wie sie sind" im PHP-Code) erhalten , vielleicht haben Sie ein Problem wegen Magic-Anführungszeichen (siehe magic_quotes_gpc )

Grundsätzlich :

Ob magische Anführungszeichen aktiviert sind (Sie können dies in der Ausgabe von phpinfo() überprüfen , zum Beispiel) , erhalten Sie diese Art von "doppeltem Escape" :

  • Diese Zeichen werden einmal mit magischen Anführungszeichen versehen,
  • Und dann werden sie ein zweites Mal durch mysql_real_escape_string maskiert


Die gute Lösung besteht in diesem Fall darin, nicht auf die Verwendung von mysql_real_escape_string zu verzichten , aber magic_quotes_gpc in Ihrer Konfiguration deaktiviert...

... Aber da Sie keinen Zugriff darauf haben, müssen Sie tatsächlich die Wirkung von magischen Anführungszeichen "umkehren", indem Sie stripslashes auf der Eingabe erhalten Sie als $_GET und $_POST , bevor Sie es verwenden.

Hinweis:Dies ist ein Ratschlag, der auf der Handbuchseite von mysql_real_escape_string gegeben wird (Zitat) :