(PECL ibm_db2 >= 1.0.0)
db2_fetch_object — 傳回一個物件,其屬性代表擷取列中的欄位
從結果集中擷取一行,並將其以物件形式返回,其中每個屬性代表該行中的一個欄位。
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!