PDOStatement::nextRowset

PHP PDO 参考手册Manual de referencia de PHP PDO

PDOStatement::nextRowset — Avanza al siguiente conjunto de filas en un controlador de sentencia de múltiples conjuntos de filas (PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)


Descripción

Sintaxis

bool PDOStatement::nextRowset ( void )

Algunos servicios de bases de datos admiten procedimientos almacenados que devuelven más de un conjunto de filas (también conocido como conjunto de resultados).

PDOStatement::nextRowset() le permite acceder al segundo y posteriores conjuntos de filas asociados con un objeto PDOStatement. Cada uno de estos conjuntos de filas puede tener un conjunto de columnas diferente.


Valores de retorno

Devuelve TRUE en caso de éxito, o FALSE en caso de error.


Ejemplos

Obtener múltiples conjuntos de filas devueltos por un procedimiento almacenado

El siguiente ejemplo muestra cómo llamar a un procedimiento almacenado que devuelve tres conjuntos de filas MULTIPLE_ROWSETS. Se utiliza un bucle do/while para llamar repetidamente al método PDOStatement::nextRowset() hasta que devuelva false cuando no haya más conjuntos de filas y finalice el bucle.

<?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";
}
?>

Salida del ejemplo anterior:

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

PHP PDO 参考手册Manual de referencia de PHP PDO

Otras extensiones