Аналог mysqli::real_escape_string?
Вопрос
полоскислеши() ?Это отстой и так 4.0.Какой аналог mysqli::real_escape_string в версии 5.0 удаляет все косые черты, добавленные для SQL-запросов?
Есть еще вопросы:
Пытался обновить запись и добавил одинарную кавычку в текстовое поле, оказалось, что phpMyAdmin экранирует строку одинарными кавычками вместо косой черты - например.одинарная кавычка экранируется как '' (2 одинарные кавычки) вместо \' - какую функцию использует phpMyAdmin или она своя?Итак, MySQL поддерживает два подхода к экранированию строк, а именно косую черту и одинарную кавычку?
Всегда ли мне нужно снимать косую черту со строки, выбранной из MySQL?Потому что вы знаете, что при вставке оно разрезано.Но я подумал, что мне это не обязательно.
Есть идеи, спасибо!
Решение
Если вы не хотите использовать PDO и используете mysqli, вам следует использовать подготовленные операторы, поэтому вам не нужно беспокоиться о экранировании кавычек с такими вещами, как mysql_real_escape_string_i_mean_it_this_time.
Более конкретно, вы можете позвонить в mysqli - > prepare подготовить ваш запрос. Позвоните mysqli_stmt - & Gt; bind_param установить значения параметров. И позвоните mysqli_stmt - & Gt; выполнить , чтобы выполнить запрос.
Другие советы
Используйте PDO вместо любых расширений mysql[i]
/ pgsql
/ .... р>
Если вы просто хотите обратить вспять ущерб, нанесенный магическими кавычками, то stripslashes()
- это именно то, что вы ищете.
ini_set('magic_quotes_runtime', false);