Проблема с переходом на php 5.3

assd

Новичок
Всем доброй ночи. Сервер обновился и теперь проблема с добавлением и редактирование бд. Выдает ошибку:

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 'text'.

Вот запрос:
$result = mysql_query ("UPDATE data SET title='$title', meta_d='$meta_d', meta_k='$meta_k', description='$description', text='$text', date='$date', author='$author', mini_img='$img', cat='$cat' WHERE id='$id'") or die (mysql_error());

Всем заранее спасибо за помощь)
 

С.

Продвинутый новичок
text -- зарезервированное слово и употреблять его по умолчанию теперь нельзя. Если это название колонки/таблицы, то это нужно явно указывать.
 

assd

Новичок
Да, это название колонки. Как мне теперь явно указать?
 

assd

Новичок
Я заменил то что было на `text`='$text' и ничего не поменялось. Та же ошибка(( Может проблема в чем-то другом.
 

fixxxer

К.О.
Партнер клуба
ну возможно формируешь запрос некорректно, там где переменные подставляются

поставь вместо mysql_query echo
выведи запрос
и отлаживай запрос прямо в mysql-е (клиенте, пхпмайадмине или где там)
сокращай пока не увидишь проблему

я на глаз не вижу ничего кроме того что не факт что у тебя все подставляемые переменные экранированы для запроса (mysql_real_escape_string)

почитай тут
phpfaq.ru/debug
phpfaq.ru/slashes
 

assd

Новичок
мне выводит полностью все значения переменных, но бд не обновляет(( тоесть убирать по одной переменной и смотреть на какой обновит7
 

assd

Новичок
У меня в похожем запросе все работает((((
$result = mysql_query ("UPDATE data_interesting SET title='$title', meta_d='$meta_d', meta_k='$meta_k', description='$description', text='$text', date='$date', author='$author', mini_img='$img' WHERE id='$id'");
 

assd

Новичок
Всем огромное спасибо за помощь и за то, что старались помочь. Оказалось проблемы были на самом сервере. Теперь все чудесно работает))))
 

baev

‹°°¬•
Команда форума
text -- зарезервированное слово и употреблять его по умолчанию теперь нельзя. Если это название колонки/таблицы, то это нужно явно указывать.
— не-а. Во-первых, в списке зарезервированных «text» нету.
Во-вторых, цитата из мануала:
MySQL permits some keywords to be used as unquoted identifiers because many people previously used them.
Examples are those in the following list:

* ACTION

* BIT

* DATE

* ENUM

* NO

* TEXT

* TIME

* TIMESTAMP
 
Сверху