使用php PDO执行存储过程仅返回最后的结果集

时间:2016-10-26 14:33:37

标签: php stored-procedures pdo firebird

成功连接后,我正试图从我的存储过程中获取数据。但是下面的代码只是成功返回SP的最后一个结果集,而不是所有集合。

$dbh = new PDO (.....);

$sth = $dbh->prepare("EXEC ......");

$sth->execute();

while($result = $sth->fetch(PDO::FETCH_ASSOC)) {
    print_r($result);
}

我需要在代码中添加任何内容吗?

感谢。

1 个答案:

答案 0 :(得分:0)

如果您想要Firebird存储过程中的多行,则需要从中选择而不是执行它。虽然IIRC你只会在执行时获得第一个结果,这与你在问题中所说的相反。

所以使用:

select * from your_procedure()