(PHP 3 >= 3.0.1, PHP 4, PHP 5)
pg_fetch_object -- 提取一行作為物件
說明
object
pg_fetch_object ( resource result [, int row [, int result_type]] )
pg_fetch_object() 返回與所提取行的屬性相一致的一個對象。若果出錯或是沒有更多行可供提取時則返回 FALSE。
pg_fetch_object() 和 pg_fetch_array() 相似,只有一點區別 - 返回一個物件而不是陣列。間接的,這意味著只能通過欄位名來訪問資料而不能通過偏移量來訪問(數字是非法的屬性名)。
row 是想要取得的行(記錄)的編號。第一行為 0。
除了速度之外,本函數和 pg_fetch_array() 完全一樣,而且幾乎和 pg_fetch_row() 一樣快(速度上的差別很小)。
注:
從 4.1.0 版本開始,參數 row 變為可選參數。
從 4.3.0 開始,result_type 預設值為 PGSQL_ASSOC,而舊版本的預設值是 PGSQL_BOTH。數字屬性在這裡沒有用處,因為在 PHP 中對象的屬性不能是數字。
result_type 參數在以後的版本中可能會移除。
例子 1. pg_fetch_object()
<?php
$database = "store";
$db_conn = pg_connect("host=localhost port=5432 dbname=$database"); if (!$db_conn) { echo "Failed connecting to postgres database $database\n"; exit; }
$qu = pg_query($db_conn, "SELECT * FROM books ORDER BY author");
$row = 0; // postgres needs a row counter
while ($data = pg_fetch_object($qu, $row)) { echo $data->author . " ("; echo $data->year . "): "; echo $data->title . "<br />"; $row++; }
pg_free_result ($qu); pg_close ($db_conn);
?>
|
|
注:
從 4.1.0 開始,row 成為可選參數。每次呼叫 pg_fetch_object(),內定的行計數器都會加一。
參見 pg_query(),pg_fetch_array(),pg_fetch_row() 和 pg_fetch_result()。