(PHP 4 >= 4.0.3, PHP 5)
mysql_escape_string — Maskiert einen String zur Benutzung in mysql_query.
Diese Funktion maskiert unescaped_string zur sicheren Benutzung in mysql_query().
Hinweis: Die Zeichen % und _ werden von mysql_escape_string() nicht maskiert. Diese Funktion ist identisch zur Funktion mysql_real_escape_string() ausgenommen, dass mysql_real_escape_string() eine Verbindungs-Kennung benötigt und den String entsprechend zum aktuellen Zeichensatz maskiert. Der Funktion mysql_escape_string() kann keine Verbindungs-Kennung übergeben werden und der aktuelle Zeichensatz wird nicht berücksichtigt.
Beispiel #1 mysql_escape_string() Beispiel
<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?>
Das Beispiel oben führt zu dieser Ausgabe:
Escaped string: Zak\'s Laptop
Hinweis: Diese Funktion ist seit PHP 4.3.0 veraltet. Benutzen Sie diese Funktion nicht und verwenden Sie stattdessen mysql_real_escape_string().
Siehe auch: mysql_real_escape_string(), addslashes() und die Einstellung magic_quotes_gpc.
it seems the function changes the character encoding of the string.
I get utf-8 encoded string and my mysql database is set to utf-8 as well.
If i just write the data to the database it works perfectly fine, if i use this function, it changes the encoding and therefore stores the wrong characters.
Seems like a bug to me.