首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PDOStatement::nextRowset

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

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

描述

代码语言:javascript
复制
public bool PDOStatement::nextRowset ( void )

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

返回值

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

示例

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

以下示例显示如何调用返回三个行集的存储过程MULTIPLE_ROWSETS。我们使用do / while循环遍历PDOStatement :: nextRowset()方法,该方法返回false并在没有更多行集可以返回时终止循环。

代码语言:javascript
复制
<?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";
}
?>

上面的例子将输出:

代码语言:javascript
复制
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 →

扫码关注腾讯云开发者

领取腾讯云代金券