PHP Conference Japan 2024

db2_fetch_array

(PECL ibm_db2 >= 1.0.1)

db2_fetch_array 傳回一個陣列,以欄位位置作為索引,表示結果集中的某一行

說明

db2_fetch_array(資源 $stmt, int $row_number = -1): 陣列|false

傳回一個陣列,以欄位位置作為索引,表示結果集中的某一行。欄位索引從 0 開始。

參數

stmt

一個有效的 stmt 資源,包含一個結果集。

row_number

從結果集中請求指定的以 1 為起始索引的列。如果結果集使用僅向前游標,傳遞此參數將導致 PHP 警告。

返回值

返回一個以 0 為起始索引的陣列,其中欄位值以欄位位置作為索引,表示結果集中下一列或請求的列。如果結果集中沒有剩餘的列,或者 row_number 請求的列不存在於結果集中,則返回 false

範例

範例 #1 迭代僅向前游標

如果您在沒有指定列號的情況下呼叫 db2_fetch_array(),它會自動擷取結果集中的下一列。

<?php

$sql
= "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while (
$row = db2_fetch_array($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row[1], $row[2], $row[3]);
}
?>

上述範例將輸出

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

範例 #2 使用 db2_fetch_array() 從可捲動游標擷取特定列

如果您的結果集使用可捲動游標,您可以使用特定列號呼叫 db2_fetch_array()。以下範例從第二列開始擷取結果集中的每隔一列。

<?php

$sql
= "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while (
$row = db2_fetch_array($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row[1], $row[2], $row[3]);
$i = $i + 2;
}
?>

上述範例將輸出

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

另請參閱

  • db2_fetch_assoc() - 以欄位名稱作為索引的陣列形式返回結果集中的一列
  • db2_fetch_both() - 以欄位名稱和位置作為索引的陣列形式返回結果集中的一列
  • db2_fetch_object() - 返回一個物件,其屬性代表擷取列中的欄位
  • db2_fetch_row() - 將結果集指標設定到下一列或指定的列
  • db2_result() - 從結果集的一列中返回單一欄位的值

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top