Функции mysqli_real_escape_string и mysqli_escape_string

Перед отправкой запроса к базе данных его нужно подготовить...

Для этих целей в PHP есть несколько функций, который обеспечивают безопасность - а именно экранирование спец символов:

  1. mysqli_real_escape_string() / до версии PHP 5.5 можно было применять mysql_real_escape_string(), с 7 ой версии - ее удалили.
  2. mysqli_escape_string()

Отличите их состоит в том, что первая функция: принимает указатель на соединение и учитывает кодировку:

 string mysqli_real_escape_string ( mysqli $link , string $escapestr )

 

для ее реализации можно воспользоваться функцией mysqli_set_charset()  - иначе работать не будет

$link - это идентификатор соединения, полученный при помощи функций mysqli_connect() или mysqli_init()

Экранируемые символы - NUL (ASCII 0), \n, \r, \, ', ", и Control-Z

 

Пример:

$link = mysqli_connect("localhost", "user", "password", "bd");
$p = "'s osch";
$p = mysqli_real_escape_string($link, $city);

 

а второй - на это все равно:

string mysqli_escape_string ( string unescaped_string )

 

И потом результат можно оправлять в функцию mysqli_query()

 

 

А сходство, что у них одна и та же задача: экранизация небезопасных элементов в запросе к БД, кроме % и нижнее подчеркивание "_".

  1. mysql_real_escape_string()

Добавить комментарий


Защитный код
Обновить

Вы здесь: Сайтостроение Создание сайта PHP Функции mysqli_real_escape_string и mysqli_escape_string