PHP.mk документација

PDOStatement::nextRowset

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

pdostatement.nextrowset.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека pdostatement.nextrowset.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
PDOStatement::nextRowset

Референца за `pdostatement.nextrowset.php` со подобрена типографија и навигација.

pdostatement.nextrowset.php

PDOStatement::nextRowset

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

PDOStatement::nextRowset Напредува до следниот сет на редови во рачка за изјава со повеќе сетови на редови

= NULL

public PDOStatement::nextRowset(): bool

Некои серверски бази на податоци поддржуваат процедури што враќаат повеќе од еден сет на редови (познати и како сет на резултати). PDOStatement::nextRowset() ви овозможува пристап до вториот и следните сетови на редови поврзани со објект PDOStatement. Секој сет на редови може да има различен сет на колони од претходниот сет на редови.

Параметри

Оваа функција нема параметри.

Вратени вредности

Патеката до PHP скриптата што треба да се провери. 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";
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

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

Види Исто така

Белешки од корисници 2 забелешки

guilleamathews на gmail точка com
пред 14 години
PDO::nextRowset() does not appear to be currently supported by the Firebird PDO driver. Unfortunate.
et точка coder на gmail точка com
пред 11 години
on MSSQL and 'dsn' => 'dblib:...',:
If you know how many count rowset then don't use contruction of do..while. 

<?php
do {
    $pdoStatement->fetchAll(\PDO::FETCH_ASSOC);
} while (
    $pdoStatement->nextRowset()
);
?>
When I get large fetchAll(over 30) for second nextRowset. I get error - Segmentation fault.

Uses step-by-step insted do..while is fix for this bug:
<?php
$pdoStatement->fetchAll(\PDO::FETCH_ASSOC);
$pdoStatement->nextRowset();
$pdoStatement->fetchAll(\PDO::FETCH_ASSOC);
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.