Php 如何迭代自定义查询的多个结果集?
我的mysql数据库中有一个存储过程,它返回多个查询结果集。 我想在cakephp(V3.4)项目中使用以下代码语句访问这些结果Php 如何迭代自定义查询的多个结果集?,php,mysql,cakephp,pdo,cakephp-3.0,Php,Mysql,Cakephp,Pdo,Cakephp 3.0,我的mysql数据库中有一个存储过程,它返回多个查询结果集。 我想在cakephp(V3.4)项目中使用以下代码语句访问这些结果 $db = ConnectionManager::get('default'); $stmt = $db->execute("call mydatasp($paramlist)"); $result = array(); try{
$db = ConnectionManager::get('default');
$stmt = $db->execute("call mydatasp($paramlist)");
$result = array();
try{
do
{
$rowset = $stmt->fetchAll('assoc');
$result[]=$rowset;
} while($stmt->nextRowset());
}
catch(Exception $e){}
在执行这个代码块之后,我得到的错误如下
[Cake\Error\FatalErrorException]调用未定义的方法Cake\Database\Log\LoggingStatement::nextRowset()
如何访问这些多个查询结果集?请尝试。类似于
while($stmt->getInnerStatement()->nextRowset())
的东西可能会起作用。使用此方法,我得到的错误是*调用未定义的方法Cake\Database\Statement\MysqlStatement::nextRowset()*更新到我以前的注释:-我修改了我的代码,如下所示{$rowset[]=$stmt->getInnerStatement()->fetchAll('assoc');$result=$rowset;}while($stmt instanceof statementdecotor);现在它只给我第一个查询的结果。缺少第二个查询结果。我不明白我在这里做错了什么?没有人在这个主题上提供帮助吗?