PHP中PDOStatement的nextRowset方法具体是如何实现跨多个结果集的迭代查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计519个文字,预计阅读时间需要3分钟。
PDOStatement::nextRowset()函数用于在多行集查询中推进到下一个行集。以下是对其内容的简化
plaintextPDOStatement::nextRowset()函数在PHP 5.1.0及以上版本及PECL pdo 0.2.0及以上版本中可用。它推进到多行集的下一行集,返回bool值。
PDOStatement::nextRowset
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) { print "Result set $i:\n"; foreach ($rowset as $row) { foreach ($row as $col) { print $col . "\t"; } print "\n"; } print "\n"; } ?>
以上实例输出:
Result set 1:
apple red
banana yellow
Result set 2:
orange orange 150
banana yellow 175
Result set 3:
lime green
apple red
banana yellow
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对易盾网络的支持。如果你想了解更多相关内容请查看下面相关链接
本文共计519个文字,预计阅读时间需要3分钟。
PDOStatement::nextRowset()函数用于在多行集查询中推进到下一个行集。以下是对其内容的简化
plaintextPDOStatement::nextRowset()函数在PHP 5.1.0及以上版本及PECL pdo 0.2.0及以上版本中可用。它推进到多行集的下一行集,返回bool值。
PDOStatement::nextRowset
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) { print "Result set $i:\n"; foreach ($rowset as $row) { foreach ($row as $col) { print $col . "\t"; } print "\n"; } print "\n"; } ?>
以上实例输出:
Result set 1:
apple red
banana yellow
Result set 2:
orange orange 150
banana yellow 175
Result set 3:
lime green
apple red
banana yellow
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对易盾网络的支持。如果你想了解更多相关内容请查看下面相关链接

