Экранирование MySQL

На более старом сервере, который я использую, я не могу использовать подготовленные операторы, поскольку в настоящее время я пытаюсь полностью избежать пользовательского ввода перед отправкой его в MySQL. Для этого я использую функцию PHPmysql_real_escape_string.

Поскольку эта функция не экранирует символы подстановки MySQL% и _ я используюaddcslashes чтобы избежать этого, а также.

Когда я отправляю что-то вроде:

test_test " ' 

в базу данных, а затем прочитать его обратно база данных показывает:

test\_test " ' 

Глядя на это, я не могу понять, почему _ имеет предшествующий обратный слеш, но "и" нет. Так как все они экранированы с помощью \ обязательно _ и ", все должны выглядеть одинаково, то есть у всех есть видимый escape-символ или все это не видно

Выходящие \ s автоматически экранированы для

Кто-нибудь может объяснить это?

Ответы на вопрос(1)

Ваш ответ на вопрос