PHP mysqli: функция real_escape_string ()
Функция mysqli_real_escape_string () / mysqli :: real_escape_string
Функция mysqli_real_escape_string () / mysqli :: real_escape_string экранирует специальные символы в строке для использования в операторе SQL.
Синтаксис:
Объектно-ориентированный стиль
строка mysqli :: escape_string (строка $ escapestr)
строка mysqli :: real_escape_string (строка $ escapestr)
Процедурный стиль
Строка mysqli_real_escape_string (mysqli $ link, строка $ escapestr)
Параметр:
название | Описание | Обязательный / Дополнительно | |
---|---|---|---|
ссылка на сайт | Идентификатор ссылки, возвращаемый mysqli_connect () или mysqli_init () | Требуется только для процедурного стиля и необязательно для объектно-ориентированного стиля | |
escapestr | Строка для экранирования. Кодируются следующие символы: NUL (ASCII 0), / n, / r, /, ', "и Control-Z. | необходимые |
Использование: Процедурный стиль
mysqli_real_escape_string (соединение, escapestring);
Параметр:
название | Описание | Обязательный / Дополнительно |
---|---|---|
соединение | Определяет соединение MySQL для использования | необходимые |
escapestring | Строка для экранирования. Кодируются следующие символы: NUL (ASCII 0), / n, / r, /, ', "и Control-Z. | необходимые |
Возвращаемое значение:
Возвращает экранированную строку.
Версия: PHP 5, PHP 7
Пример объектно-ориентированного стиля:
<?php
$mysqli = new mysqli("localhost", "user1", "datasoft123", "hr");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");
$city ="Kalkata";
/* 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();
?>
Пример процедурного стиля:
<?php
$link = mysqli_connect("localhost", "user1", "datasoft123", "hr");
/* 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 ="Kalkata";
/* 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);
?>
Выход:
Ошибка: 42000 1 строка вставлена.
Смотрите также
Предыдущая: real_connect
Далее: real_query
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code