PHP + MySQLi在单个查询中插入多行时遇到问题

时间:2014-02-22 22:54:46

标签: php mysql mysqli

我一直在研究这个问题,但似乎找不到任何在国内外都有重复问题的机构。

我正在尝试将以下查询与PHP&库MySQLi:

  

INSERT INTO table ('第1列','第2列')VALUES   (数据,数据),(数据,数据)等......

最初我确实使用了一个有效的循环+预处理语句,但是大型操作需要很长时间才能完成。在MySQL工作台或MySQL shell中测试查询得到了积极的结果;但是,当我通过PHP MySQLi运行查询时:查询会产生错误:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获得正确的语法   '169,52,“4149510311f84bb30843290286df7538c8dd3c1b”附近,),   (第27,52行,第189行“189d985be0d562a3bcb”

我检索了查询以及错误,将其复制到MySQL Workbench或手动进入shell,查询将起作用。查询本身如下:

  

INSERT INTO update_que(component_ID,user_ID,hash)VALUES   (169,52,“4149510311f84bb30843290286df7538c8dd3c1b”),   (27,52,“189d985be0d562a3bcbe520ce6b6229fad0002b3”),   (152,52,“4149510311f84bb30843290286df7538c8dd3c1b”),   (51,52,“7e00272b49e77a7951a500fc8d239688966cd16a”),   (120,52,“1a3926c99e745ffab069aaf51b610a474f3282fa”),   (43,42,“7e00272b49e77a7951a500fc8d239688966cd16a”),   (14,52,“7e00272b49e77a7951a500fc8d239688966cd16a”),   (14,52,“7e00272b49e77a7951a500fc8d239688966cd16a”),   (71,52,“4149510311f84bb30843290286df7538c8dd3c1b”),   (161,52,“4149510311f84bb30843290286df7538c8dd3c1b”)ON DUPLICATE KEY   UPDATE hash = VALUES(hash);

我在这里不知所措,因为我的语法似乎很好,特别是如果我可以从两个不同的来源执行它。我还确保我的平台在测试期间是最新的(CentOS 6.4 with PHP 5.3.3和MySQL 5.1.73)。

所以现在我只能认为它必须是特定于PHP实现的一些明显的语法错误,我只是遗漏或许显而易见。有什么建议吗?

0 个答案:

没有答案