我正在使用Zend和postgres数据库,我希望从一个包含多个命令的sql查询中获得结果。 我真正想要的是创建一个包含一些数据的表,然后在同一个语句中的select查询中请求这些数据。
但是当它被执行时,我遇到了这个错误:
错误:无法将多个命令插入预准备语句
我找到了一种方法来解决它在第二个命令之前插入“/”,但它没有用。
提前感谢您的帮助或建议!
答案 0 :(得分:4)
PHP PDO驱动程序does not allow multiple SQL commands in one statement。您应该尝试将PDO选项PDO :: ATTR_EMULATE_PREPARES设置为true:
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true).
检查Zend文档以了解如何操作。 (例如,在Yii中,它通过“db”组件的emulatePrepare选项完成)
答案 1 :(得分:1)
如果您在此处粘贴代码,那将更有帮助。
我不确定你所指的是否实际上是一个SQL查询。您似乎要做的是将一些SQL命令(如create,insert和select)附加到一个预准备语句中!相反,您需要单独发送这些命令或创建单独的预准备语句。据我所知,postgres在一次准备调用中禁止多个SQL命令。