ошибка при выполнении запроса на обновление в doctrine

#mysql #doctrine

#mysql #doctrine

Вопрос:

Я пытаюсь запустить следующий скрипт, используя doctrine, но получаю сообщение об ошибке, можете ли вы мне помочь, ребята?

 $menusQuery = Doctrine_Query::create()
                              ->update('MenuHeader')
                              ->set('order', 'order-1');
                              $menusQuery->execute();
  

и ошибка:

исключение ‘Doctrine_Connection_Mysql_Exception’ с сообщением ‘SQLSTATE[42000]: синтаксическая ошибка или нарушение доступа: 1064 У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с ‘order = порядок’ в строке 1. Сбой запроса: «ОБНОВИТЬ menu_header УСТАНОВИТЬ order = порядок»‘

Спасибо

Комментарии:

1. Покажите нам эхо этого запроса: echo $menusQuery->getSqlQuery();

2. UPDATE menu_header УСТАНОВИТЬ порядок = order

Ответ №1:

order это зарезервированное слово в MySQL. Может помочь добавление обратных меток вокруг имени поля, но было бы лучше изменить имя столбца.

Комментарии:

1. ДА. Я рекомендую вам переименовать столбец «порядок».