如果可能的话,如何获取两个结果集:
$sth=$dbh->prepare("SELECT * FROM tb1 WHERE cond1;
SELECT * from tb2 Where cond2");
$sth->execute();
$row=$sth->fetchAll(); print_r ($row);
这是两个完全不同的表(没有共同的字段)。
Yes PDO
可以获取两个(或更多)行集,只要您使用的数据库支持它。我认为微软SQL服务器 and MySQL两者都支持此功能,但在撰写本文时SQLite才不是。
你想要的功能是PDOStatement::nextRowset https://www.php.net/manual/en/pdostatement.nextrowset.php
因此,在上面的示例中,您可能会执行类似的操作;
$sth = $dbh->prepare("SELECT * FROM tb1 WHERE cond1;
SELECT * FROM tb2 WHERE cond2");
$sth->execute();
$rowset1 = $sth->fetchAll();
$sth->nextRowset();
$rowset2 = $sth->fetchAll();
print_r($rowset1);
print_r($rowset2);
单个存储过程返回多个行集是完全合理的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)