На более старом сервере я использую то, что я не могу использовать подготовленные инструкции. В настоящее время я пытаюсь полностью избежать ввода пользователя перед отправкой его в MySQL.
Для этого я использую функцию PHP mysql_real_escape_string
.
Так как эта функция не избегает подстановочных символов MySQL% и _, я использую addcslashes
, чтобы избежать этих ошибок.
Когда я отправляю что-то вроде:
test_test " '
в базу данных, а затем прочитайте ее, как показывает база данных:
test\_test " '
Глядя на это, я не могу понять, почему у _ есть предыдущая обратная косая черта, а "и" - нет. Поскольку все они сбегаются с \surely _ 'и "все должно выглядеть одинаково, т.е. Все имеют видимый символ escape или все они не видны.
Выполняется ли экранирование автоматически для
Кто-нибудь может это объяснить?