PHP
数据库 | Database

PDOStatement::nextRowset

PDOStatement::nextRowset

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)

PDOStatement :: nextRowset - 进入多行集合语句句柄中的下一行集合

描述

public bool PDOStatement::nextRowset ( void )

某些数据库服务器支持返回多个行集(也称为结果集)的存储过程。PDOStatement :: nextRowset()使您能够访问与PDOStatement对象关联的第二个和后续行集。每个行集可以具有与前面的行集不同的一组列。

返回值

成功时返回TRUE或失败时返回FALSE

示例

示例#1 获取从存储过程返回的多个行集

以下示例显示如何调用返回三个行集的存储过程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

扩展内容

  • PDOStatement :: columnCount() - 返回结果集里的列数

  • PDOStatement :: execute() - 执行准备好的语句

  • PDOStatement :: getColumnMeta() - 返回结果集里列的元数据

  • PDO :: query() - 执行一条SQL语句,返回一个结果集作为PDOStatement对象

← PDOStatement::getColumnMeta

PDOStatement::rowCount →