Автор Тема: phpfaq.ru/slashes  (Прочитано 3143 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Jean

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
phpfaq.ru/slashes
« : 03 Сентября 2004, 09:13:00 »
не могу понять некоторых вещей в этой статье (точнее пока что одну):

Цитировать
Важное замечание! Добавленные слеши НЕ идут в базу. Они нужны только в запросе. При попадании в базу слеши отбрасываются. Соответственно, распространенной ошибкой является применение stripslashes при получении данных из базы.


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

Объясните, пожалуйста, в чем дело.

спасибо.

p.s. у меня MySQL 4.0.18

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
phpfaq.ru/slashes
« Ответ #1 : 03 Сентября 2004, 10:13:10 »
Jean

Вот я, плохо знаю PHP, постольку поскольку, но просто прочитав на php.net описание функции magic_quotes_gpc сразу возник вопрос: "Зачем еще раз проставлять слеши, если эта функция их уже проставила?"

P.S. Кстати на том же php.net в качестве примера представлен код правильного экранирования...

Оффлайн Jean

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
phpfaq.ru/slashes
« Ответ #2 : 03 Сентября 2004, 11:24:59 »
Я еще раз слэши не ставлю. У меня в настройках стоит, чтобы PHP сам эти слэши проставлял. Как я получил данные из поста так я их и записываю в БД. Но зато вот потом уже приходится применять stripslashes, чтобы получить обратно нормальный текст

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
phpfaq.ru/slashes
« Ответ #3 : 03 Сентября 2004, 11:34:33 »
Там внизу написано, что читать надо весь фак. в частности - debug
а там написано, что проблему надо искать не там, где ее нет,а там, где она есть.
Прежде, чем кричать о том, что мускуль тебе неправильно работает, возьми, выведи свой запрос на экран, и убедись, что там лишний слеш. А после этого ищи, где ты в СВОЕМ коде его добавляешь.

Оффлайн Jean

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
phpfaq.ru/slashes
« Ответ #4 : 03 Сентября 2004, 11:59:54 »
никто не кричит, что mysql неправильно работает.

просто быд задан вопрос. Спасибо, разъяснили.

[OFF]
Не понимаю причин такой злости. Ты разве не можешь нормально ответить. Ты же все таки с людьми разговариваешь.
[/OFF]

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
phpfaq.ru/slashes
« Ответ #5 : 03 Сентября 2004, 12:05:20 »
какой смысл тебе говорить, в чем ошибка, если ты заранее утверждаешь, что ее нет - ты ничего не добавляешь?

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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28