PDOStatement::nextRowset

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

PDOStatement::nextRowset Avance al siguiente conjunto de resultados de un manejador de conjuntos de resultados múltiples

Descripción

public PDOStatement::nextRowset(): bool

Algunas bases de datos soportan procedimientos almacenados que retornan más de un conjunto de resultados (también conocido como juegos de resultados). PDOStatement::nextRowset() permite acceder al segundo y siguientes conjuntos de resultados asociados con el objeto PDOStatement. Cada conjunto de resultados tiene diferentes juegos de columnas desde el conjunto de resultados.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Recuperación de múltiples conjuntos de resultados retornados por un procedimiento almacenado

El siguiente ejemplo muestra cómo llamar a un procedimiento almacenado, MULTIPLE_ROWSETS, que retorna tres conjuntos de resultados. Un ciclo do-while es utilizado para recorrer el método PDOStatement::nextRowset(), que retorna false y termina el ciclo cuando no hay más conjuntos de resultados disponibles.

<?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
"Conjunto de resultados $i:\n";
foreach (
$rowset as $row) {
foreach (
$row as $col) {
print
$col . "\t";
}
print
"\n";
}
print
"\n";
}
?>

El resultado del ejemplo sería:

Conjunto de resultados 1:
apple    red
banana   yellow

Conjunto de resultados 2:
orange   orange    150
banana   yellow    175

Conjunto de resultados 3:
lime     green
apple    red
banana   yellow

Ver también