将多个命令插入预准备语句的错误

时间:2010-10-10 17:08:00

标签: php sql

我正在使用Zend和postgres数据库,我希望从一个包含多个命令的sql查询中获得结果。 我真正想要的是创建一个包含一些数据的表,然后在同一个语句中的select查询中请求这些数据。

但是当它被执行时,我遇到了这个错误:

错误:无法将多个命令插入预准备语句

我找到了一种方法来解决它在第二个命令之前插入“/”,但它没有用。

提前感谢您的帮助或建议!

2 个答案:

答案 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命令。