Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не записывается обратный слеш \ в БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Арикус
Отправлено: 17 Сентября, 2015 - 15:24:35
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Июнь 2015  
Откуда: Москва, Россия


Помог: 0 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. $newAnswer = mysql_real_escape_string($newAnswer);
  2. echo 'Проверка 5: '.$newAnswer.'<br />';
  3. if ((mysql_query("INSERT INTO `a-questions` (`Vopros`, `Opisanie`, ...)
  4. VALUES ('{$_GET['num']}','{$newAnswer}',...)",$link)) && (...)) // Записи в БД
  5. {...

Пишет: Проверка 5: aaaaaa\bbbbbb
В базу данных записывается: aaaaaabbbbbb
 
 Top
andrewkard
Отправлено: 17 Сентября, 2015 - 15:34:15
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Арикус
Да, не пишет, это символ экранирования.
Пробуйте addslashes()
 
 Top
Арикус
Отправлено: 17 Сентября, 2015 - 17:01:07
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Июнь 2015  
Откуда: Москва, Россия


Помог: 0 раз(а)




andrewkard пишет:
Пробуйте addslashes()


Вообще никакого эффекта.
В других случаях mysql_real_escape_string помогало, и слеши отлично записывались в БД. Кодировка столбца такая же: utf8_general_ci
 
 Top
DelphinPRO
Отправлено: 17 Сентября, 2015 - 20:12:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




--

(Отредактировано автором: 17 Сентября, 2015 - 20:12:52)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Мелкий Супермодератор
Отправлено: 17 Сентября, 2015 - 20:23:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Арикус пишет:
$newAnswer = mysql_real_escape_string($newAnswer);echo 'Проверка 5: '.$newAnswer.'<br />';

Арикус пишет:
Проверка 5: aaaaaa\bbbbbb

Замечу. \ всего один. Уже после mysql_real_escape_string. Значит, до вызова escape эта строка слешей не содержала вовсе.


-----
PostgreSQL DBA
 
 Top
andrewkard
Отправлено: 17 Сентября, 2015 - 22:54:07
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Сдается мне, что функция mysql_real_escape_string не сработала вовсе, а \ там уже был. Могу и ошибаться.
Арикус
Выведите $newAnswer перед:
$newAnswer = mysql_real_escape_string($newAnswer);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB