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 →