|
|
|
| Вввожу такую строку
12342t2t123t '"?/..
сохраняю в таблице предварительно пропустив через $str = htmlspecialchars( $str );
вывожу для редактирования - всё нормально
А вот если пытаюсь сохранить повторно
Error: 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 ';?/..' WHERE id_author=7' at
|
каждый раз использую htmlspecialchars
В чём же дело? | |
|
|
|
|
|
|
|
для: Port_Artur1
(22.12.2007 в 13:36)
| | Лучше не через htmlspecialchars() пропускать содержимое текстовой строки, а через функцию mysql_escape_string()
<?php
if (!get_magic_quotes_gpc())
{
$str = mysql_escape_string($str);
}
?>
|
Функцией htmlspecialchars() лучше пользоваться непосредственно перед выводом в окно браузера. | |
|
|
|
|
|
|
|
для: cheops
(22.12.2007 в 13:51)
| | if (!get_magic_quotes_gpc()) - Возвращает текущую активную установку конфигурации magic_quotes_gpc (0 для off, 1 для on).
не пойму смысл этого условия - оно обязательно или его можно пропустить и что оно проверяет | |
|
|
|
|
|
|
|
для: Port_Artur1
(22.12.2007 в 14:12)
| | А так, спасибо огромное, всё работает! | |
|
|
|
|
|
|
|
для: Port_Artur1
(22.12.2007 в 14:12)
| | Если обновленое значение поступает из HTML-формы, то проверка состояния режима магических кавычек при помощи функции get_magic_quotes_gpc() обязательна - сервер сам может осуществлять экранирование. | |
|
|
|
|
|
|
|
для: cheops
(22.12.2007 в 13:51)
| | В данном контексте применение функции get_magic_quotes_gpc() ничем не обусловлено.
В остальном - согласен. | |
|
|
|