PHP
Referenzliste
mysqli_real_escape_string
MySQLi Funktionen
Befehl:
string mysqli_real_escape_string ( mysqli $link , string $escapestr )
string mysqli::real_escape_string ( string $escapestr )
( oder )
string mysqli::escape_string ( string $escapestr )
string mysqli::real_escape_string ( string $escapestr )
( oder )
string mysqli::escape_string ( string $escapestr )
Parameter-Liste:
Beschreibung | |
---|---|
Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt. | |
Die Zeichenfolge, die maskiert werden. Zeichen codiert werden, sind NUL (ASCII 0), \n, \r, \, ', ", und Control-Z. |
Rückgabewerte:
Liefert ein Zeichenkette zurück.
Beschreibung:
Diese Funktion wird verwendet, um eine Rechts SQL-Zeichenfolge, die Sie in einer SQL-Anweisung verwenden können. Die angegebene Zeichenfolge ist auf einem entflohenen SQL-Zeichenfolge codiert werden, unter Berücksichtigung der aktuellen Zeichensatz der Verbindung.
Aktiv in Version:
(PHP 5, PHP 7)
Hinweis:
Hinweis:
Für diejenigen, die sich erst daran gewöhnen mysql_real_escape_string() zu beachten, dass die Argumente der mysqli_real_escape_string() unterscheiden von dem, was mysql_real_escape_string() erwartet. Die
Link
-Kennung kommt zuerst in mysqli_real_escape_string(), während der Zeichenkette escaped werden kommt zuerst in mysql_real_escape_string().Achtung:
Achtung:
Der Zeichensatz muss entweder auf Serverebene oder mit der API-Funktion mysqli_set_charset() für sie zu beeinflussen mysqli_real_escape_string() gesetzt werden. Siehe Abschnitt Konzepte auf Zeichensätze für weitere Informationen.
Siehe auch:
Setzt den Standard-Client-Zeichensatz
Gibt den Standardzeichensatz für die Datenbank-Verbindung
mysqli_real_escape_string() - Beispiel: Objektorientierter Stil
(mysqli::real_escape_string)
(mysqli::escape_string)
(mysqli::real_escape_string)
(mysqli::escape_string)
Eingabe:
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City"); $city = "'s Hertogenbosch"; /* this query will fail, cause we didn't escape $city */ if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) { printf("Error: %s\n", $mysqli->sqlstate); } $city = $mysqli->real_escape_string($city); /* this query with escaped $city will work */ if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) { printf("%d Row inserted.\n", $mysqli->affected_rows); } $mysqli->close(); ?>
Ausgabe:
Error: 42000
1 Row inserted.
1 Row inserted.
mysqli_real_escape_string() - Beispiel 2: Prozeduraler Stil
(mysqli::real_escape_string)
(mysqli::escape_string)
(mysqli::real_escape_string)
(mysqli::escape_string)
Eingabe:
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City"); $city = "'s Hertogenbosch"; /* this query will fail, cause we didn't escape $city */ if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) { printf("Error: %s\n", mysqli_sqlstate($link)); } $city = mysqli_real_escape_string($link, $city); /* this query with escaped $city will work */ if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) { printf("%d Row inserted.\n", mysqli_affected_rows($link)); } mysqli_close($link); ?>
Ausgabe:
Error: 42000
1 Row inserted.
1 Row inserted.
MySQLi Funktionen