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
Форумы портала PHP.SU :: Версия для печати :: Не удается сохранить данные в базу данных
Форумы портала PHP.SU » PHP » Программирование на PHP » Не удается сохранить данные в базу данных

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

1. AndrewRota - 03 Декабря, 2016 - 23:08:15 - перейти к сообщению
Возникла проблема с сохранением данных в базу данных MySQL. Я понял в чем она, но разрешить так и не удалось. Если в тексте присутствует знак ' (одна кавычка), то php не сохраняет данные. Что делать?
2. Мелкий - 04 Декабря, 2016 - 11:20:53 - перейти к сообщению
Мой хрустальный шар показывает, что у вас глупейшая ошибка - SQL-инъекция.
3. AndrewRota - 04 Декабря, 2016 - 13:56:12 - перейти к сообщению
Хм... И как же её решить?
4. Мелкий - 04 Декабря, 2016 - 14:07:56 - перейти к сообщению
Используйте prepared statements.
pdo::prepare или mysqli::prepare, если вам больше нравится второй.
5. AndrewRota - 04 Декабря, 2016 - 19:33:53 - перейти к сообщению
А вы бы не могли объяснить как это работает? И я пишу в другом стиле, вроде он называется "процедурный"
6. Мелкий - 04 Декабря, 2016 - 20:02:52 - перейти к сообщению
Пишите хоть на функциональном эрланге. Но никогда не вставляйте данные в сам запрос.

Работает это явным разделением управляющего кода и данных. Сначала подготавливается запрос, затем к нему привязываются данные, затем просите СУБД выполнить такой-то запрос с такими данными.
7. AndrewRota - 07 Декабря, 2016 - 23:54:00 - перейти к сообщению
Короче, я разобрался. Надо было использовать mysql_escape_string

 

Powered by ExBB FM 1.0 RC1