Php MYSQL+;PDO nextRowSet循环次数过多?
我正在处理一个返回多个结果集的MYSQL(5.5.35)存储过程,我想知道是否有人能解释出哪里出了问题。SQL语句如下所示Php MYSQL+;PDO nextRowSet循环次数过多?,php,mysql,pdo,multiple-resultsets,Php,Mysql,Pdo,Multiple Resultsets,我正在处理一个返回多个结果集的MYSQL(5.5.35)存储过程,我想知道是否有人能解释出哪里出了问题。SQL语句如下所示 SELECT 't1' as tableName, tbl1.* FROM table1 tbl1; SELECT 't2' as tableName, tbl2.* FROM table2 tbl2; SELECT 't3' as tableName, tbl3.* FROM table3 tbl3; SELECT 't4' as tableName, tbl4.* FR
SELECT 't1' as tableName, tbl1.* FROM table1 tbl1;
SELECT 't2' as tableName, tbl2.* FROM table2 tbl2;
SELECT 't3' as tableName, tbl3.* FROM table3 tbl3;
SELECT 't4' as tableName, tbl4.* FROM table4 tbl4;
SELECT 't5' as tableName, tbl5.* FROM table5 tbl5;
SELECT 't6' as tableName, tbl6.* FROM table6 tbl6;
然后我有一些PHP可以做到这一点
$sth =$dbh->prepare('CALL getAllRecords()');
$sth->execute();
$i = 1;
do {
echo "<h3>$i Set</h3>";
$i++;
$rows = $sth->fetchAll();
} while ($sth->nextRowset());
但是,它运行7个结果集,这反过来会导致异常
Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error'
我错过了一些非常简单的东西吗?似乎与之类似。解决方案是检查列计数,如果是0,则中断循环。这对我来说很有效,但您的里程数可能会有所不同。哪一行会引发异常?是的,这是费特拉奇不认为自己是一个专家,但我真的看不出代码有什么明显的错误。(-我能看到的唯一可能导致问题的地方是,6个数据集中的最后2个是空的,但即使这样,我只测试了$rows,我仍然不应该进入该循环7次。
Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error'