无法弄清楚这个MySQL语法错误

时间:2011-11-09 23:22:01

标签: php mysql

这是错误

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的“order ASC LIMIT 100”附近使用正确的语法。

这是传递给PDO的查询,用于准备好的执行

SELECT * FROM web_menu_items WHERE menuId = ? ORDER BY order ASC LIMIT 100

这里是传递给准备好的执行

的变量

array(0 => "1")

这是表结构

CREATE TABLE IF NOT EXISTS `web_menu_items` (
  `id` int(11) NOT NULL auto_increment,
  `menuId` int(11) NOT NULL,
  `order` int(11) NOT NULL,
  `requiredAccess` int(11) NOT NULL,
  `hideIfNotAccess` int(11) NOT NULL,
  `label` varchar(128) NOT NULL,
  `link` varchar(128) NOT NULL,
  `tagId` varchar(32) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `menuId` (`menuId`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

我在这里看不到什么?为什么这是语法错误?

1 个答案:

答案 0 :(得分:8)

order是mySQL中的保留字。

在它周围加上反对:

ORDER BY `order` ASC LIMIT 100

或考虑重命名该字段。