mysql_real_escape_string Maskiert spezielle Zeichen innerhalb einer Zeichenkette für die Verwendung in einer SQL-Anweisung &mysql.alternative.note; mysqli_real_escape_string PDO::quote &reftitle.description; stringmysql_real_escape_string stringunescaped_string resourcelink_identifierNULL Maskiert spezielle Zeichen in unescaped_string unter Berücksichtigung des aktuellen Zeichensatzes der Verbindung, so dass das Ergebnis ohne Probleme in mysql_query verwendet werden kann. Wenn Sie Binärdaten einfügen wollen, müssen Sie die Funktion auf jeden Fall verwenden. mysql_real_escape_string ruft die Funktion mysql_real_escape_string der MySQL-Bibliothek auf, die folgende Zeichen mit einem Backslash ('\') versieht: \x00, \n, \r, \, ', " und \x1a. Die Funktion muss (mit wenigen Ausnahmen) immer verwendet werden, um Daten abzusichern, bevor sie per Abrage an MySQL übermittelt werden. Sicherheit: Der Standardzeichensatz Der Zeichensatz muss entweder auf Ebene des Servers oder mittels der API-Funktion mysql_set_charset gesetzt werden, damit dieser mysql_real_escape_string beeinflusst. Siehe das Grundlagenkapitel zum Thema Zeichensätze für mehr Informationen. &reftitle.parameters; unescaped_string Die zu maskierende Zeichenkette. &mysql.linkid.description; &reftitle.returnvalues; Gibt eine maskierte Zeichenkette zurück oder im Fehlerfall &false;. &reftitle.errors; Wird diese Funktion ohne MySQL-Verbindung ausgeführt, werden ebenfalls PHP-Fehler der Stufe E_WARNUNG ausgelöst. Diese Funktion sollte nur mit einer gültigen MySQL-Verbindung verwendet werden. &reftitle.examples; Einfaches <function>mysql_real_escape_string</function>-Beispiel ]]> <function>mysql_real_escape_string</function> benötigt eine Verbindung Diese Beispiel verdeutlicht, was geschieht, wenn beim Aufruf dieser Funktion keine MySQL-Verbindung vorhanden ist. ]]> &example.outputs.similar; Ein beispielhafter SQL-Injection-Angriff ]]> Die Abfrage, die an MySQL übermittelt wird: Dies würde jedem erlauben, sich ohne valides Passwort einzuloggen. &reftitle.notes; Sie müssen eine Verbindung zu MySQL geöffnet haben, bevor Sie mysql_real_escape_string verwenden, ansonsten erhalten Sie einen Fehler vom Typ E_WARNING und der Rückgabewert wird zu &false;. Ist link_identifier nicht angegeben, wird die letzte MySQL-Verbindung verwendet. Wenn die Funktion nicht verwendet wird, um die Daten zu maskieren, ist die Abfrage anfällig für SQL-Injection-Angriffe. mysql_real_escape_string maskiert weder % noch _. Diese Zeichen werden in MySQL als Platzhalter interpretiert, wenn sie mit LIKE, GRANT oder REVOKE kombiniert werden. &reftitle.seealso; mysql_set_charset mysql_client_encoding