Php Symfony DBAL insert给出了“";语法错误或访问冲突:1064“;

Php Symfony DBAL insert给出了“";语法错误或访问冲突:1064“;,php,mysql,symfony,dbal,Php,Mysql,Symfony,Dbal,我正试图向数据库中插入一些数据,但这里出了问题。我无法理解这是什么,我希望有人能告诉我这是怎么回事 我的桌子看起来有点像这样: CREATE TABLE IF NOT EXISTS `db_name`.`order` ( `orderID` INT NOT NULL AUTO_INCREMENT, `order_ordernumber` VARCHAR(200) NOT NULL, `order_orderweight` INT NOT NULL, ... And other c

我正试图向数据库中插入一些数据,但这里出了问题。我无法理解这是什么,我希望有人能告诉我这是怎么回事

我的桌子看起来有点像这样:

CREATE TABLE IF NOT EXISTS `db_name`.`order` (
  `orderID` INT NOT NULL AUTO_INCREMENT,
  `order_ordernumber` VARCHAR(200) NOT NULL,
  `order_orderweight` INT NOT NULL,
  ... And other columns as well, but all NULL
ENGINE = InnoDB
我使用的是Symfony2框架,这里是DBAL insert:

$conn->insert('order', array(
              'order_ordernumber' => $this->orderid,
              'order_orderweight' => $this->totalweight
             ));
“$this->orderid”是字符串变量,“$this->totalweight”是int

它给出了以下错误信息:

An exception occurred while executing 'INSERT INTO order (order_ordernumber, order_orderweight) VALUES (?, ?)' with params ["000001", 900]:

SQLSTATE[42000]: Syntax error or access violation: 1064 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 'order (order_ordernumber, order_orderweight) VALUES ('000001', '900')' at line 1
500 Internal Server Error - DBALException
1 linked Exception: PDOException » 

我可以在纯sql上执行相同的查询,它可以工作,但这个不能。这个到底是怎么回事?

order
是MySQL中的一个保留关键字:


您必须在单词周围使用反引号以防止此错误。但更好的建议是在表前面加前缀。

order
是MySQL中的保留关键字:


您必须在单词周围使用反引号以防止此错误。但更好的建议是为表添加前缀。

order
在MySQL中是一个保留关键字,您应该为表添加前缀以防止此类错误。如果这是关于保留关键字的,纯sql怎么会起作用呢?您需要将保留字
order
与backticks
>insert隔开(“order”
您可以在纯SQL中完成,在“order”周围加上反引号)word,或者数据库名称作为表名的前缀。否则这是不可能的,它是一个保留关键字:哦哦,对了..我确实在order单词周围有那些反引号..我想我已经有点累了..D
order
在MySQL中是一个保留关键字,您应该为表添加前缀以防止出现这种错误。如果这是关于保留关键字的?您需要使用反引号将保留字
order
插入('order'),您可以在纯SQL中使用反引号在“order”周围插入word,或以数据库名称作为表名的前缀。否则这是不可能的,它是一个保留关键字:哦哦,对了..我确实在订单字周围有那些反引号..我想我已经有点累了..:D