| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Проблема с экранированием кавычек в БД |
| Автор: AntiLL 3.4.2006, 23:25 |
| Доброго времени суток! Столкунлся с такой проблемой. Заносим текст из формы в БД. Естественно все кавычки, апострофы, слеши экранируем командой addslashes(). Так вот... При выводе на экран инфы из БД на моем компьютере, выводятся и все экранирующие слеши. На компьютере друга выводится все нормально. Пример: вношу из формы в БД: "слово" у меня выводится /"слово/" у друга выводится "слово" У меня БД MySQL 3.23.38 У друга БД MySQL 3.23.54 В чем проблема? Может быть в настройках? Помогите пожалуйста! |
| Автор: Serkys 4.4.2006, 00:18 |
| Попробуй вместо addslashes() использовать mysql_escape_string(). Может помочь. Добавлено @ 00:21 Может ты при выводе используешь апострофы ( ' ), а твой друг двойные кавычки (")? Текст в апострофах не экранируется (за исключением самих апострофов). |
| Автор: Ciber SLasH 4.4.2006, 00:25 | ||
| У тебя наверное двойное экранирование получается: в php.ini прописан наверно magic_quotes_gpc = On и ты ещё addslashes() делаешь. Выход: поставвь magic_quotes_gpc = Off и экранируй данные для БД с помощью mysql_real_escape_string() и при выводе данных из БД делай так:
где: $value — данные из БД. |
| Автор: AntiLL 4.4.2006, 18:56 |
| А все ясно... Большое спасибо! Я просто поставил magic_quotes_gpc =off и все. Думаю так будет лучше. |
| Автор: Serkys 4.4.2006, 19:28 |
| AntiLL, отметь, пожалуйста, вопрос решённым (вверху страницы под полем для поиска). |
| Автор: AntiLL 5.4.2006, 00:04 |
| Вроде пометил... |
| Автор: Serkys 5.4.2006, 00:07 |
| Спасибо. Гораздо приятнее просматривать форум и видеть, где уже нет вопросов, а где ещё нужно помочь. |