Вопрос по "закавычиванию" имен полей в MySQL-запросах

Crys

Двинутый новичок
Вопрос по "закавычиванию" имен полей в MySQL-запросах

Не могу понять, почему некоторые "чужие" скрипты/классы работают у меня с ошибками (например dbtree). Приходится имена таблиц и полей брать в кавычки, иначе возникает ошибка запроса (что-то типа "проверьте документацию по mysql вашей версии"). Но эти ошибки появлялись и когда сидел на 3-ей версии MySQL и продолжаются сейчас (на MySQL 4.1.8).

Кто-нибудь знает, в чём может быть проблема?

-~{}~ 07.08.05 01:57:

Администрация, просьба переместить тему в соответствующую ей категорию (PHP & Mysql).
Извиняюсь за то, что не туда запостил :(
 

alexhemp

Новичок
Это классика

Тебе сюда
http://phpfaq.ru/debug

Отлаживать нужно даже "чужой" код ибо в твоем окружении авторы его не тестировали, уж извини.
 

Фанат

oncle terrible
Команда форума
непонятен вопрос.
если приходится имена полей брать апострофы - значит, среди имён полей есть ключевые слова. вроде бы, эьто очевидно.
 

Crys

Двинутый новичок
http://phpfaq.ru/debug

Отлаживать нужно даже "чужой" код ибо в твоем окружении авторы его не тестировали, уж извини.
Как отлаживать php-скрипты - я знал ещё до того, как эту статью увидел (а её увидел уже очень давно). Ошибка не в php-скрипте, а в запросе MySQL..

если приходится имена полей брать апострофы - значит, среди имён полей есть ключевые слова. вроде бы, эьто очевидно.
Вот до этого не додумался :( Проверю :)

Спасибо!
 

alexhemp

Новичок
Crys

В указанном документе в частности сказано

При возниконовении проблем с функциями mysql (supplied argument is not a valid MySQL result resource) под строкой, где произошла ошибка, обязательно надло вывести на экран mysql_error() и сам запрос - для визуального контроля и копирования на форум.
И тогда ты бы сам отлично понял что делать. Еще раз повторю - в твоем окружении никто их просто не тестировал, версия MySQL другая. Так почему они должны работать?
 

Crys

Двинутый новичок
под строкой, где произошла ошибка, обязательно надло вывести на экран mysql_error() и сам запрос - для визуального контроля и копирования на форум.
У меня всегда показываются все ошибки PHP и все ошибки MySQL...

Вроде бы в самом начале я сообщил:
Приходится имена таблиц и полей брать в кавычки, иначе возникает ошибка запроса (что-то типа "проверьте документацию по mysql вашей версии").
Точно сообщить ошибку не мог тогда, сообщаю сейчас:
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 '='page'' at line 1
По-моему я выражался правильно.

Так на кой ляд мне перечитывать статью "debug", если я уже сообщил ошибку, что от неё помогает и хотел только узнать, ОТ ЧЕГО это зависит?
 

SelenIT

IT-лунатик :)
Crys, прошу прощения за повторение...
...и сам запрос - для визуального контроля и копирования на форум.
Ибо телепаты до сих пор в отпуске. Хотя главную причину проблем уже назвал Фанат.
 
Сверху