PHP8 PDOStatement::nextRowset

2024-03-26 09:50 更新

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

PDOStatement::nextRowset — 在一個多行集合語句句柄中推進(jìn)到下一個行集合

說明

public PDOStatement::nextRowset(): bool

一些數(shù)據(jù)庫服務(wù)支持返回一個以上行集合(也被稱為結(jié)果集)的存儲過程。PDOStatement::nextRowset() 使你能夠結(jié)合一個 PDOStatement 對象訪問第二個以及后續(xù)的行集合。上述的每個行集合可以有不同的列集合。

參數(shù) 

此函數(shù)沒有參數(shù)。

返回值 

成功時返回 true, 或者在失敗時返回 false。

示例 

示例 #1 獲取由一個存儲過程返回的多個行集合

下面例子展示了怎樣調(diào)用一個存儲過程,返回三個行集合的 MULTIPLE_ROWSETS。用 do-while 循環(huán)來循環(huán)調(diào)用 PDOStatement::nextRowset() 方法,直到返回 false 并且不再有行集合可用時結(jié)束循環(huán)。

<?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() - 返回結(jié)果集中的列數(shù)
  • PDOStatement::execute() - 執(zhí)行預(yù)處理語句
  • PDOStatement::getColumnMeta() - 返回結(jié)果集中一列的元數(shù)據(jù)
  • PDO::query() - 預(yù)處理并執(zhí)行沒有占位符的 SQL 語句


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號