PHP PDOStatement::nextRowset() 方法
PHP PDOStatement::nextRowset() 在一个多行集语句句柄中推进到下一个行集
(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)
函数原型
bool PDOStatement::nextRowset ( void )
一些数据库服务支持返回一个以上行集(也被称为结果集)的存储过程
PDOStatement::nextRowset() 能够结合一个 PDOStatement 对象访问第二个以及后续的行集
上述的每个行集可以有不同的列集合
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE
范例
获取由一个存储过程返回的多个行集
下面的范例演示了如何调用一个存储过程,返回三个行集的 MULTIPLE_ROWSETS
用一个 do / while 循环来循环调用 PDOStatement::nextRowset() 方法
当不再有行集返回时返回 false 并结束循环
<?php $sql = 'CALL multiple_rowsets()'; $stmt = $conn->query($sql); $i = 1; do { $rowset = $stmt->fetchAll(PDO::FETCH_NUM); if ($rowset) { printResultSet($rowset, $i); } $i++; } while ($stmt->nextRowset()); function printResultSet(&$rowset, $i) { echo "Result set $i:\n"; foreach ($rowset as $row) { foreach ($row as $col) { echo $col , "\t"; } echo "\n"; } echo "\n"; }