[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запись не проходит в БД!
Страницы: 1, 2, 3, 4
Гость_Елена
Пытаюсь записать в бд код страницы с формой подписки, а получаю ошибку:
Ошибка: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'form[name="SR_form_2_40"]').find('div#sr-preload_').prop('id', 'sr-preload_2_40'' at line 1

Как можно решить проблему?
Valick
неплохо бы запрос показать

_____________
Стимулятор ~yoomoney - 41001303250491
GET
Гость_Елена
Синтаксическая ошибка, проверить синтаксис, может с кавычками напутали.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Гость_Елена
if (mysqli_query($db, "UPDATE `user_pages` SET `html_code`='$html_code', `background`='$background', `page_name`='$page_name', `uploaded`='$uploaded' WHERE `page_id`='$page_id' AND `login`='$login'")) {
echo 'Сохранено!';
}
else {
echo 'Ошибка: '.mysqli_error($db);
}


Если $html_code пропустить через mysqli_real_escape_string, то запрос проходит, но вот меня волнует, не повредит ли он js скрипты на странице?
Valick
ABC, там скорее всего нет эскейпирования данных
Цитата
Пытаюсь записать в бд код страницы с формой
Valick
Гость_Елена, все записываемые текстовые поля необходимо пропускать через функцию mysql_real_escape_string()

_____________
Стимулятор ~yoomoney - 41001303250491
Bezdna
А для чего JS-скрипт вгонять в БД?
Гость_Елена
Дело в том, что у меня есть ещё php код, который успешно сохраняет код страницы без mysqli_real_escape_string, но, видимо это потому, что там AJAX-отправка и предварительно переменная пропускается через encodeURIComponent().
Гость_Елена
Bezdna, задумка такая. Пользователь редактирует свои страницы и хранит в БД.
Bezdna
Цитата (Гость_Елена @ 20.03.2013 - 13:30)
задумка такая


Странная задумка. Особенно в вопросе безопасности. Не проще этот код хранить как текст?
Гость_Елена
Может urlencode() и urldecode() помогут?
И может ли mysqli_real_escape_string навредить коду скрипта?
Я проверил, вроде бы пока всё работает.

Цитата
Особенно в вопросе безопасности. Не проще этот код хранить как текст?

А что с безопасностью? Код проходит через htmlspecialchars, ну и сейчас через mysqli_real_escape_string. Доступ к коду может получить только пользователь. PHP здесь не выполнишь.
GET
Гость_Елена


Цитата
Гость_Елена, все записываемые текстовые поля необходимо пропускать через функцию mysql_real_escape_string()

Valick правильно подсказал, возможно внутри переменных есть знаки препинания, которые режут запрос:

if (mysqli_query($db, "UPDATE `user_pages` SET `html_code`='".mysqli_real_escape_string($html_code)."', 


и так для остальных переменных

Я проверил - Эх Елена..Елена :)

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Гость_Елена
Цитата
Я проверил - Эх Елена..Елена smile.gif

Что?
Guest
if (mysqli_query($db, "UPDATE `user_pages` SET `html_code`='".mysqli_real_escape_string($html_code)."', 

К mysqli_real_escape_string нужен ещё идентификатор соединения :)
if (mysqli_query($db, "UPDATE `user_pages` SET `html_code`='".mysqli_real_escape_string($db, $html_code)."', 
Гость_Елена
Guest, так mysqli_real_escape_string уже внутри запроса с идентификатором smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.