You have an error in your SQL syntax; check the manual that corresponds to your MySQL
- у меня есть код который нужно вставить в редактор
- в этом коде содержится код небольшого скрипта JS, который скрывает и показывает заново цвета
- конкретно этот код:
<a href="java script://" id="more_colors_show_4" class="more_colors_show" onclick="jQuery('#more_colors_4').show('fast'); jQuery('#more_colors_hide_4').removeClass('hidden'); jQuery('#more_colors_show_4').addClass('hidden');">показать остальные цвета</a>
- после вставки его в редактор в cms у меня выскакивает такое сообщение:
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 'href="java script://" id="more_colors_hide_4" class="more_colors_hide hidden" onc' at line 4
Я могу предположить что информация которая вбивается в БД содержит подозрительные слэши, которые типа она (БД) воспринимает как SQL инъеккцию. Еще я думаю можно как то создать типа класса отдельного и подключать.
Какие варианты решения этой проблемы?
Спасибо!
Убрать "подозрительные" слеши.
Выдало следующую ошибку:
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 'href="javascript" id="more_colors_hide_4" class="more_colors_hide hidden" onclic' at line 4
Значит дело не в слешах. Найдите в коде функцию, управляющую внесением информации из редактора в БД и вставьте там обработку входящей информации с помощью функции mysql_real_escape_string()
* Функция экранирует все спец-символы
*
* @param mixed &$unescaped : ссылка на данные
* @return mixed
*/
function escape_string(&$unescaped)
{
if (is_array($unescaped))
{
reset($unescaped);
$kkeys = array_keys($unescaped);
foreach ($kkeys AS $k)
{
$unescaped[$k] = mysql_escape_string($unescaped[$k]);
}
reset($unescaped);
}
else
{
$unescaped = mysql_escape_string($unescaped);
}
}
нашел такую строчку, это не то?
я так понимаю проблема в том, что я пытаюсь внести запрещенные символы в БД?
если это так возможно ли как то отключить проверку вводимых данных на уровне
Замените все ' на \" (или на \'). Должно тогда нормально добавиться. Проблема в cms
Цитата: arrjj
Замените все ' на \" (или на \'). Должно тогда нормально добавиться. Проблема в cms
Спасибо огромное! очень помогли!
А зачем писать herf="javascript"? Можно же просто href="#"
а что за cms?