Непонятки в sql запросе .

zeltais

Новичок
Непонятки в sql запросе .

сделал чат на пхп и базе MySQL.
в чате используються команды типа /down /up и др.
допустим команда /down она понижает юзера до статуса который по иерархии стоит ниже чем теперешний статус.
при понижении статуса в базе ставяться флаги которые разрешают юзеру что то делать например topic , host , etc ...
запрос выглядит так
Update Users set topic='1',host='1',info='1' where nick='$nick';
в реале флагов не 3 а больше 10 .
выполнение запроса
выдаёт ошибку типа проверьте корректность запроса и выдаёт всю строку начиная с первого определения флага.
в базе эти флаги имеют тип int(1).
помогите плз а то не могу разобраться ...
 

nagash

Guest
ну если бы хотябы посмотреть на сам этот запрос и посмотреть на точную ошибку которую выдаёт мюскл было бы намного проще тебе помочь...
 

zeltais

Новичок
привожу пример
if ($rowstat[down1]=1&&$user_status='создатель') //если текущий юзер имеет право понизить юзера со статусом создатель ...
$query="Update Register set status='2',topic='1',host='1',sql='0',down='1' .... where nick='$down_nick';"; //ставим флаги все запрос очень большой !


выдаёт ошибку типа неправильный запрос проверьте корректность и выдаёт всю строку запроса начиная в данном случае с status='2' и до конца ...
ошибку сейчас не могу привести не имею в данный момент доступа к базе :(
но в чём вообще может быть трабла ???
 

zeltais

Новичок
может ли быть проблема если в запросе используется переменная order ???
т.е. topic='1',order='1' и т.д.????
только сейчас дошло что может быть такая проблема ...
или это не существенно ???
 

Popoff

popoff.donetsk.ua
нужен точный запрос и точное сообщение об ошибке, иначе ничего не понятно...

кстати, мне больше нравится прибавлять к флагам в начало имени какую-нибудь букву, например 'f' (Flag): fTopic, fOrder, fSet, fSelect.... Тогда, даже если тебе захочется в качестве имени использовать зарезервированное слово, после того, как ты добавишь к нему префикс 'f', оно перестанет быть зарезервированным.
 

zeltais

Новичок
да правильно ... как я и думал ...
проблема оказалась в резервированном слове order ...
изменил и всё заработало :)
Тема закрыта !
Всем спасибо!
 
Сверху