mysql_real_escape_string хранит данные в базе данных вместе с обратными слешами - PullRequest
2 голосов
/ 14 мая 2010

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

У меня magic_quotes_gpc OFF, я не уверен, почему это происходит. Есть идеи?

Есть ли какая-либо настройка в базе данных mysql, которую необходимо изменить.

Я не использую косые черты в любом месте кода. Язык PHP.

Пожалуйста, помогите.

Ответы [ 3 ]

2 голосов
/ 14 мая 2010

Существует несколько вариантов magic_quotes, все из которых очень агрессивны и не могут быть переопределены. Я думаю, маловероятно, что это дополнительное экранирование выполняется СУБД.

Вы проверяли, как выглядят данные до , применяя mysql_real_escape_string () - я бы поспорил, что они уже каким-то образом сбежали.

C.

0 голосов
/ 14 мая 2010

stripslashes () - это когда PHP директива magic_quotes_gpc включена (он включен по умолчанию), а вы нет вставка этих данных в место (например, в качестве базы данных), которая требует побега. Например, если вы просто вывод данных прямо из HTML форма.

<?php
$str = "Is your name O\'reilly?";

// Outputs: Is your name O'reilly?
echo stripslashes($str);
?>

Дайте нам знать, когда вы используете стрип-слэш, во что превращается ваш вклад. Это входит в необходимый формат. Это делается для проверки того, что что-то идет не так с вашим входом.

Поскольку вы сказали, что без применения mysql_real_escape_string ваши данные сохраняются без каких-либо черных слешей ... и после их применения вы получаете черный слеш ... я лично чувствую, что дважды проверяю ваш код, применяете ли вы где-то аддлэш.

Некоторые вопросы ...

  1. Это происходит только в этой текущей функции.
  2. Убедитесь, что ваш magic_quotes_gpc включен или выключен.
  3. Можете ли вы опубликовать часть этой функции, которая вызывает эту проблему.
0 голосов
/ 14 мая 2010

ответ прост. В базе данных mysql нет настроек, которые необходимо изменить. Это ваш код / ​​настройки.

Либо у вас есть magic_quotes_gpc, и его нужно перепроверить, либо какой-то ваш код выполняет еще один удар

...