Top.Mail.Ru
Ответы

Почему mysql_real_escape_string удаляет всю строку?

Подскажите, почему функция mysql_real_escape_string удаляет всю строку, которая пришла из поста?
Например:

if(!empty($_POST["search"])){ //Принимаем данные

$search = trim(strip_tags(stripcslashes(htmlspecialchars($_POST["search"]))));
}

По дате
По рейтингу
Аватар пользователя
Знаток
11лет

mysqli($linkConnect,trim(strip_tags($userData)));
забудь mysql_ как страшный сон

Аватар пользователя
Знаток
11лет

надо на саму строку еще глянуть...
Да и вот здесь $search = trim(strip_tags(stripcslashes(htmlspecialchars($_POST["search"]))));
уже кучи всего вырезается.

mysql_real_escape_string ничего не вырезает вообще, она только экранирует спецсимволы, важные для правильного хранения данных в MySQL.

Аватар пользователя
Ученик
11лет

trim - убирает пробелы
strip_tags - теги
stripcslashes - /
htmlspecialchars - спецсимволы html

Запрос состоит из простых букв. Когда убираю mysql_real_escape_string, то всё работает. Даже если только mysql_real_escape_string оставлю, а остальное уберу, все равно не работает.



Видео по теме