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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не работает запрос INSERT INTO

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
surrealistic pillow
Отправлено: 10 Августа, 2014 - 16:54:42
Post Id


Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




Вот запрос:
PHP:
скопировать код в буфер обмена
  1. $putintodb = mysql_query("INSERT INTO af0ap_content (title, fulltext, state, catid, created_by, access) VALUES ('".$newArrHead[$j]."', '".$contents[$j]."', '1', '2', '131', '1')");

он не работает, то есть не заносит запись в базу.

Вывожу ошибку с помощью

Выводит следующее:
Цитата:
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 'fulltext, state, catid, created_by, access) VALUES ('По�' at line 1

версия MySQL 5.1.69
Какие еще есть варианты написания подобного запроса, которые могут удовлетворить эту версию MySQL?

(Отредактировано автором: 10 Августа, 2014 - 16:57:26)

 
 Top
likvidator
Отправлено: 10 Августа, 2014 - 18:01:15
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


surrealistic pillow пишет:
$putintodb = mysql_query("INSERT INTO `af0ap_content` (`title`, `fulltext`, `state`,`catid`, `created_by`, `access`) VALUES ('".$newArrHead[$j]."', '".$contents[$j]."', '1', '2', '131', '1')");

? Хотя, в передаваемых данных похоже проблема,что в переменных?

surrealistic pillow пишет:
$putin to db Радость

(Отредактировано автором: 10 Августа, 2014 - 18:04:12)

 
 Top
W1nnyPyx
Отправлено: 10 Августа, 2014 - 19:36:31
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Апр. 2014  


Помог: 1 раз(а)




vardamp попробуйте посмотреть что к путину приходит Радость
 
 Top
surrealistic pillow
Отправлено: 10 Августа, 2014 - 21:13:29
Post Id


Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




likvidator в передаваемых переменных проблемы нет, там содержатся элементы массивов (заголовков статей $newArrHead и текста статей $contents) соответственно.

W1nnyPyx

выводит bool(false) для каждой итерации цикла
 
 Top
Sail
Отправлено: 11 Августа, 2014 - 09:21:14
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




surrealistic pillow пишет:
...'По�'...

Для начала попробуйте экранировать $newArrHead[$j] и другие переменные.
Например:

К тому-же действительно полезно будет "посмотреть что к путину приходит".
PHP:
скопировать код в буфер обмена
  1. $sQuery = "INSERT INTO...";
  2. echo $sQuery;
  3. $putintodb = mysql_query($sQuery);
 
 Top
surrealistic pillow
Отправлено: 11 Августа, 2014 - 09:45:15
Post Id


Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




Думал, что версия MySQL слишком древняя, и возможно в этом проблема, закинул сайт на локальный сервер (для этого специально установил Denwer).
но с версией 5.5.25 скрипт выводит ту же ошибку
Цитата:
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 'fulltext, state, catid, created_by, access) VALUES ( '????' at line 1

Меня тут посетила мысль, а может быть дело в кодировке?
Названия статей, которые формируют массив $newArrHead я вытаскиваю из другой базы, кодировка поля с названием utf8_general_ci, такая же, как и в поле title той базы, куда пытаюсь вставить.
А вот с текстом проблемка, тк текст я вытаскиваю из файлов с расширением .htm, с кодировкой windows-1251.
поле fulltext, куда надо вставить это безобразие, соответсвенно в utf8_general_ci.

Из этого следует такой вопрос, как мне перекодировать текст, находящийся в массиве $contents в utf-8?

пробовал так:
PHP:
скопировать код в буфер обмена
  1. iconv('windows-1251', 'utf-8', $contents[$j]);

не помогает
(Добавление)
Sail
PHP:
скопировать код в буфер обмена
  1. $putintodb = mysql_query("INSERT INTO af0ap_content ( title, fulltext, state, catid, created_by, access) VALUES ( '".mysql_real_escape_string($newArrHead[$j])."', '".mysql_real_escape_string($contents[$j])."', '1',   '2',   '131',       '1')" );
  2.  

выводит ошибку
Цитата:
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 'fulltext, state, catid, created_by, access) VALUES ( '????????????? \"?? ??' at line 1

(Отредактировано автором: 11 Августа, 2014 - 10:23:18)

 
 Top
Мелкий Супермодератор
Отправлено: 11 Августа, 2014 - 10:40:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Люди, вы чем вообще занимаетесь? Ответ уже давным-давно был дан:
likvidator пишет:
surrealistic pillow пишет:
$putintodb = mysql_query("INSERT INTO `af0ap_content` (`title`, `fulltext`, `state`,`catid`, `created_by`, `access`) VALUES ('".$newArrHead[$j]."', '".$contents[$j]."', '1', '2', '131', '1')");

?


fulltext, наряду ещё с некоторым списком, является зарезервированным словом.


-----
PostgreSQL DBA
 
 Top
surrealistic pillow
Отправлено: 11 Августа, 2014 - 12:35:35
Post Id


Новичок


Покинул форум
Сообщений всего: 43
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




Мелкий ты прав. Все заработало после того как обернул кавычками `` поля в запросе
 
 Top
Vinyl
Отправлено: 11 Августа, 2014 - 13:46:27
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)





W1nnyPyx пишет:
попробуйте посмотреть что к путину приходит Радость

Помираю со смеху!


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB