|
|
|
| ребят такая беда, в одном из полей во время добавления у меня возникает проблема, если в переменной есть двойные кавычки или одинарные то не добавляет в базу, если без то добавляет
<?
$result = mysql_query ("INSERT INTO `page` (`title`,`descr`,`keywords`,`text`,`url`) VALUES ('$title','$descr','$keywords','$text','$url')");
|
когда происходит не добавление выбивает такую ошибку
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 ''\1\')' at line 1
|
а в это поле title я вношу в этом случае такое | |
|
|
|
|
|
|
|
для: TavRoX
(17.11.2012 в 05:00)
| | Кавычки следует экранировать при помощи функции mysql_escape_string() | |
|
|
|
|
|
|
|
для: cheops
(17.11.2012 в 07:55)
| | лучше уже mysql_real_escape_string, так как в php 5.3 mysql_escape_string не поддерживается более. | |
|
|
|
|
|
|
|
для: ols
(17.11.2012 в 12:45)
| | У mysql_real_escape_string есть особенность - она не работает, если нет подключения MySQL (поэтому можно и к addslashes прибегать), лучше вообще ориентироваться на библиотеки, оперирующие подготовленными запросами, вроде PDO. | |
|
|
|
|
|
|
|
для: cheops
(17.11.2012 в 13:35)
| | А если подключения все-равно нет, то зачем escape/real_escape/addslashes ? | |
|
|
|
|
|
|
|
для: Sfinks
(17.11.2012 в 14:29)
| | Чтобы соединение было покороче... пока вы удерживаете соединение с базой данных, им не может воспользоваться другой запрос... поэтому соединение создается по-новой или если их больше нельзя создать, запрос ждет в очереди. Поэтому иногда лучше сначала все обработать, а потом устанавливать соединение с базой данных. | |
|
|
|
|
|
|
|
для: TavRoX
(17.11.2012 в 05:00)
| | прочтите эту статю | |
|
|
|