PHP Conference Japan 2024

db2_fetch_object

(PECL ibm_db2 >= 1.0.0)

db2_fetch_object 傳回一個物件,其屬性代表擷取列中的欄位

說明

db2_fetch_object(資源 $stmt, 整數 $row_number = -1): stdClass|false

從結果集中擷取一行,並將其以物件形式返回,其中每個屬性代表該行中的一個欄位。

參數

stmt

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

row_number

請求結果集中特定的一行(從 1 開始索引)。如果結果集使用僅向前游標,傳遞此參數將會產生 PHP 警告。

返回值

返回一個代表結果集中單一行的物件。物件的屬性對應於結果集中欄位的名稱。

IBM DB2、Cloudscape 和 Apache Derby 資料庫伺服器通常會將欄位名稱轉換為大寫,因此物件屬性將會反映此大小寫。

如果您的 SELECT 陳述式呼叫純量函數來修改欄位的值,資料庫伺服器會返回欄位編號作為結果集中欄位的名稱。如果您想要更具描述性的欄位名稱和物件屬性,可以使用 AS 子句為結果集中的欄位指定名稱。

如果沒有擷取任何行,則返回 false

範例

範例 #1 db2_fetch_object() 範例

以下範例執行一個帶有純量函數 RTRIM 的 SELECT 陳述式,該函數會移除欄位結尾的空白。我們在 SELECT 陳述式中使用 AS 子句將名稱 "name" 指定給修改後的欄位,而不是建立具有屬性 "BREED" 和 "2" 的物件。資料庫伺服器會將欄位名稱轉換為大寫, resulting in an object with the properties "BREED" and "NAME".

<?php
$conn
= db2_connect($database, $user, $password);

$sql = "SELECT breed, RTRIM(name) AS name
FROM animals
WHERE id = ?"
;

if (
$conn) {
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(0));

while (
$pet = db2_fetch_object($stmt)) {
echo
"過來,{$pet->NAME},我的小{$pet->BREED}!";
}
db2_close($conn);
}
?>

以上範例會輸出

Come here, Pook, my little cat!

另請參閱

  • db2_fetch_array() - 從結果集中返回以欄位位置作為索引的陣列,表示結果集中的一列
  • db2_fetch_assoc() - 從結果集中返回以欄位名稱作為索引的陣列,表示結果集中的一列
  • db2_fetch_both() - 從結果集中返回以欄位名稱和位置作為索引的陣列,表示結果集中的一列
  • db2_fetch_row() - 將結果集指標設定到下一列或指定的列
  • db2_result() - 從結果集中返回一列中的單一欄位

新增註釋

使用者貢獻的註釋

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