У вас также есть возможность использовать функции mysqli и подготовленные операторы. Это во многом позволяет избежать проблемы, поскольку все кавычки считаются частью данных.

жный дубликат:
Что mysql_real_escape_string () делает, что addlashes () не делает?

Если нет, я использовал mysql_escape_string, и он добавляет символы к таким словам, как \ r \ n, и я не хочу этого ..

 Seth09 янв. 2011 г., 15:30
У меня нет файла php.ini.
 keithjgrant09 янв. 2011 г., 02:11
Это в вашем файле php.ini:php.net/manual/en/security.magicquotes.php
 Seth09 янв. 2011 г., 01:51
Как мне его выключить?
 keithjgrant09 янв. 2011 г., 01:21
Если у вас возникли проблемы с добавлением вещей mysql_real_escape_string (), убедитесь, что Magic Quotes выключен.
 Pekka 웃09 янв. 2011 г., 01:16
mysql_real_escape_string не будет ничего добавлять к окончательным данным. Если это произойдет для вас, начните отдельный вопрос об этом, вероятно, что-то еще происходит

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

mysql_real_escape_string() вместо. Он не должен добавлять ничего, кроме того, что требуется для экранирования строки.

http://php.net/mysql-real-escape-string

Это относится и к другим базам данных: используйте функцию escape для конкретного расширения.

 Michael Tontchev18 мая 2015 г., 22:39
Почему это не безопасно?
 Jonah19 мая 2015 г., 21:27
@MichaelTontchev Это гарантирует, что все для строки SQL правильно экранировано, а не только кавычки. Здесь есть хорошее объяснение:stackoverflow.com/questions/3473047

ленный оператор сMySQLi или жеPDO.

ные операторы. Это во многом позволяет избежать проблемы, поскольку все кавычки считаются частью данных.

addslashes не достаточно хорошmysql_escape_string не обязательно достаточно хорош. использованиеmysql_real_escape_string.

Нравится ли вам то, что он добавляет или нет, не имеет значения, он только экранирует символы, чтобы убедиться в правильности синтаксиса запроса. Если это мешает тому, что вы делаете, вы делаете что-то не так.

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