Функции mysqli_real_escape_string и mysqli_escape_string
- Подробности
- Категория: PHP
- Просмотров: 535
Перед отправкой запроса к базе данных его нужно подготовить...
Для этих целей в PHP есть несколько функций, который обеспечивают безопасность - а именно экранирование спец символов:
- mysqli_real_escape_string() / до версии PHP 5.5 можно было применять mysql_real_escape_string(), с 7 ой версии - ее удалили.
- 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()
А сходство, что у них одна и та же задача: экранизация небезопасных элементов в запросе к БД, кроме % и нижнее подчеркивание "_".
- mysql_real_escape_string()