连接成功后,我试图从存储过程中获取数据。但是下面的代码只成功返回SP的最后一个结果集,而不是所有的结果集。
$dbh = new PDO (.....);
$sth = $dbh->prepare("EXEC ......");
$sth->execute();
while($result = $sth->fetch(PDO::FETCH_ASSOC)) {
print_r($result);
}
有什么我需要添加到我的代码?
谢谢。
如果需要Firebird存储过程中的多行,则需要从中选择,而不是执行它。虽然IIRC在执行它时只会得到第一个结果,与您在问题中所说的相反。
所以使用:
select * from your_procedure()