Xava: + MYSQL: Anführungszeichen und andere?

Beitrag lesen

Hallo Marc!

[...] Diese Variable soll jedes beliebige Zeichen enthalten können und dann
in die MySQL-Datenbank geschrieben werden.
Wie muss ich die Variable vorbereiten, dass ich folgenden
einfachen Befehl ausführen kann:

$beispielvar = "Beliebiger Wert, also auch Zeilenumbrüche,
Sonderzeichen und Anführungszeichen...";
// Variable vorbereiten, damit ab jetzt keine Fehler auftreten
mysql_query("INSERT INTO testtabelle (testfeld) values ('$beispielvar')");

Benutze die Funktion "mysql_escape_string()", um die Anführungszeichen zu escapen. Sondernzeichen sollten soweit kein Problem sein.

Wenn du jedoch die Daten in eine HTML-Seite ausgeben möchtest, so empfiehlt sich die Verwendung der Funktion "htmlspecialchars()" oder "htmlentities()".

SQL-Query in PHP:
 mysql_query("INSERT INTO testtabelle (testfeld) values (mysql_escape_string($beispielvar))");

Mehr Informationen:
 - PHP-Handbuch: htmlspecialchars()
   http://de.php.net/manual/de/function.htmlspecialchars.php

- PHP-Handbuch: htmlentities()
   http://de.php.net/manual/de/function.htmlentities.php

- PHP-Handbuch: mysql_escape_string()
   http://de.php.net/manual/de/function.mysql-escape-string.php

- dclp-FAQ: 16.18. Wie kann ich bösartigen Code in SQL-Abfragen unterbinden?
   http://www.dclp-faq.de/q/q-sql-injection.html