使用PHP PDO和Firebird INSERT ...返回/存储过程没有暂停

时间:2016-09-12 10:16:18

标签: php pdo yii2 firebird yii-extensions

我有PHP代码执行PDOStatement并尝试获取返回的数据:

$this->pdoStatement->execute();
$this->pdoStatement->fetch();

PDO语句的SQL是:

INSERT INTO CONTRACTS (contract_no) VALUES (10010) RETURNING contract_no

但是没有suspend子句的存储过程也可以在这里。问题是提到的PHP PDO命令序列在执行fetch时返回以下错误:

SQLSTATE[HY000]: General error: -502 Cursor is not open 

如何以及是否可以使用PHP Data Objects PDO从插入...中获取数据?

这个问题有更广泛的背景 - 我尝试使用插件http://www.yiiframework.com/extension/yii2-firebird/使用Yii 2.0和Firebird,我发现插入命令由于此问题中描述的问题而无法正常工作。

Firebird 2.1。

1 个答案:

答案 0 :(得分:1)

尝试升级PHP。我修复了PHP7 Firebird PDO扩展中的一些错误,包括带有“returns”子句的语句。