PHP PDO - 语法问题

时间:2014-09-10 01:40:09

标签: php mysql sql pdo

最近我开始使用某人的库来使用一些现代的PHP5功能,并且已经介绍了这种奇怪的新PDO语言,显然你不能以通常的方式解决SQL问题。

这是一个被拒绝的生成的SQL语句:

INSERT INTO "eve"."utilRegisterKey" ("activeAPIMask","isActive","keyID","vCode") VALUES (?,?,?,?) ON DUPLICATE KEY UPDATE "activeAPIMask"=VALUES("activeAPIMask"),"isActive"=VALUES("isActive"),"keyID"=VALUES("keyID"),"vCode"=VALUES("vCode")

通常我会认为引号是杀死这个语句的东西,但是对于我所知道的这个PDO系统来说是“酷”的。

这是错误:

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 '"eve"."utilRegisterKey" ("activeAPIMask","isActive","keyID","vCode") VALUES ('26' at line 1)

我没有理由认为图书馆存在错误,它似乎是由专家撰写的。那可能会出现什么问题?

1 个答案:

答案 0 :(得分:4)

您无法将表名或列标识符包装在引号中。要么使用刻度线,要么根本不使用。

INSERT INTO eve.utilRegisterKey (activeAPIMask,isActive,keyID,vCode)

INSERT INTO `eve`.`utilRegisterKey` (`activeAPIMask`,`isActive`,`keyID`,`vCode`)