php - 在 zf2 中调用存储过程时发生 PDO::MYSQL_ATTR_USE_BUFFERED_QUERY 错误

标签 php mysql stored-procedures pdo zend-framework2

在 zend Framework 2 中调用存储过程时,它抛出错误消息,我该如何解决这个问题,

$dbAdapter = $e->getApplication()->getServiceManager()->get('Zend\Db\Adapter\Adapter');
    $results = $dbAdapter->query("CALL PROCEDURE_NAME('PARAM1')");
    $DataSource = $results->execute();
    $Statement = $DataSource->getResource();
    $Result = $Statement->fetchAll(\PDO::FETCH_OBJ);

上面的代码用于获取存储过程信息

低于错误

语句无法执行(HY000 - 2014 - 当其他无缓冲查询处于事件状态时无法执行查询。考虑使用 PDOStatement::fetchAll()。或者,如果您的代码仅针对 mysql 运行,您可以启用查询通过设置 PDO::MYSQL_ATTR_USE_BUFFERED_QUERY 属性进行缓冲。)

最佳答案

解决了我的问题,我只是在获取结果后放置 closeCursor

$dbAdapter = $e->getApplication()->getServiceManager()->get('Zend\Db\Adapter\Adapter');
$results = $dbAdapter->query("CALL PROCEDURE_NAME('PARAM1')");
$DataSource = $results->execute();
$Statement = $DataSource->getResource();
$Result = $Statement->fetch(\PDO::FETCH_OBJ);
$Statement->closeCursor();

感谢 Ukuser32 支持我寻找解决方案

关于php - 在 zf2 中调用存储过程时发生 PDO::MYSQL_ATTR_USE_BUFFERED_QUERY 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35770753/

相关文章:

php - 如何获取半径内的最大 GPS 位置

mysql - 计算与 MySQL 中的多个条件中的每一个匹配的行

tsql - 从插入触发器后调用存储过程

MySQL运行时报错 `rails server`

c# - 从C#调用Azure SQL存储过程非常慢

mysql - MAMP存储过程: Commands out of sync error

php - 使用 mysql 根据单击的复选框/单选按钮提取 8 列中的 1 列

php - 使用 Laravel 和 VueJS 配置完全分离的前端和后端 Web 应用程序

带有一个提交按钮的php多搜索文本框

sql - 从mysql中的int列获取设置位的索引