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 » » Работа с СУБД » помогите код выдаёт ошибку.

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

1. ivan1983 - 13 Апреля, 2012 - 22:02:40 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. mysql_query("INSERT INTO `hotel`.`hotel` (`hotel_space`, `content`, `hotel_title`, `categ`) VALUES ('$space', '$text', '$title', '$categ')") OR die(mysql_error());


Причём: если текст большой то появляется ошибка, а если маленький, то всё без проблем.

вот сама база
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2.   `hotel_id` int(7) NOT NULL AUTO_INCREMENT,
  3.   `content` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  4.   `hotel_space` varchar(255) NOT NULL,
  5.   `hotel_title` varchar(255) NOT NULL,
  6.   `hotel_key` varchar(255) NOT NULL,
  7.   `hotel_desc` varchar(255) NOT NULL,
  8.   `rate` double NOT NULL,
  9.   `categ` varchar(10) NOT NULL,
  10.   PRIMARY KEY (`hotel_id`)
  11. ) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=49 ;    
2. Bio man - 13 Апреля, 2012 - 22:07:22 - перейти к сообщению
текст не может быть более 64KB для поля text. Для более емкого текста используй MEDIUMTEXT (16MB)
3. ivan1983 - 13 Апреля, 2012 - 22:19:02 - перейти к сообщению
Длина поля не влияет на результат. Я использовал и longtext. Не помагает.
4. Мелкий - 13 Апреля, 2012 - 22:38:23 - перейти к сообщению
ivan1983 пишет:
то появляется ошибка

Хм А какая - секрет? Ошибки крайне не случайно пишутся.
5. ivan1983 - 13 Апреля, 2012 - 23:00:54 - перейти к сообщению
ну как бы я написал, что выдаёт ошибку синтаксиса. Но вот:


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 's club with professional staff;
6. Bio man - 13 Апреля, 2012 - 23:03:05 - перейти к сообщению

(Добавление)
ivan1983 пишет:
ну как бы я написал, что выдаёт ошибку синтаксиса
Ткни пальцем, где именно ошибку синтаксиса ты указал!
7. DelphinPRO - 14 Апреля, 2012 - 00:10:31 - перейти к сообщению
ivan1983 если ошибка синтаксиса, значит неверно составлен запрос. В первую очередь нужно вывести сформированную строку запроса на экран и внимательно просмотреть. т.е. примерно так
PHP:
скопировать код в буфер обмена
  1. $query = "INSERT INTO `hotel`.`hotel` (`hotel_space`, `content`, `hotel_title`, `categ`) VALUES ('$space', '$text', '$title', '$categ')";
  2. die($query);
  3. mysql_query($query) OR die(mysql_error());

сразу будет видно где косяк. но так, на будущее.
в вашем случае, скорее всего в запрос вставляется текст с кавычками, которые вы не экранируете. Bio man подсказал как решить проблему.

 

Powered by ExBB FM 1.0 RC1