Вопрос

полоскислеши() ?Это отстой и так 4.0.Какой аналог mysqli::real_escape_string в версии 5.0 удаляет все косые черты, добавленные для SQL-запросов?

Есть еще вопросы:

  1. Пытался обновить запись и добавил одинарную кавычку в текстовое поле, оказалось, что phpMyAdmin экранирует строку одинарными кавычками вместо косой черты - например.одинарная кавычка экранируется как '' (2 одинарные кавычки) вместо \' - какую функцию использует phpMyAdmin или она своя?Итак, MySQL поддерживает два подхода к экранированию строк, а именно косую черту и одинарную кавычку?

  2. Всегда ли мне нужно снимать косую черту со строки, выбранной из 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);

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top