PDO::nextRowset() does not appear to be currently supported by the Firebird PDO driver. Unfortunate.PDOStatement::nextRowset
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
PDOStatement::nextRowset
Референца за `pdostatement.nextrowset.php` со подобрена типографија и навигација.
PDOStatement::nextRowset
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)
PDOStatement::nextRowset — Напредува до следниот сет на редови во рачка за изјава со повеќе сетови на редови
= NULL
Некои серверски бази на податоци поддржуваат процедури што враќаат повеќе од еден сет на редови (познати и како сет на резултати). 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
Види Исто така
- Враќа број на колони во множеството на резултати - Враќа број на колони во множеството резултати
- Пример #3 Цитирање на сложена низа - Извршува подготвена изјава
- Некои драјвери можеби не имплементираат - Враќа метаподатоци за колона во сет на резултати
- Испрати MySQL барање - Подготвува и извршува SQL изјава без места за замена
Белешки од корисници 2 забелешки
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);
?>