PHP 手冊
前一頁 |  | 下一頁

# pg_fetch_object

(PHP 3>= 3.0.1, PHP 4 , PHP 5)

pg_fetch_object -- Fetch a row as an object

## Description

object pg_fetch_object ( resource result [, int row [, int result_type]] )

pg_fetch_object() returns an object with properties that correspond to the fetched row. It returns `FALSE` if there are no more rows or error.

pg_fetch_object() is similar to pg_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

> 注: This function sets NULL fields to PHP `NULL` value.

row is row (record) number to be retrieved. First row is 0.

Speed-wise, the function is identical to pg_fetch_array(), and almost as quick as pg_fetch_row() (the difference is insignificant).

> 注: From 4.3.0, result_type is default to PGSQL_ASSOC while older versions' default was PGSQL_BOTH. There is no use for numeric property, since numeric property name is invalid in PHP.

> result_type may be deleted in future versions.

範例 1. pg_fetch_object() example

`<?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);
?>`

> 注: From 4.1.0, row became optional. Calling pg_fetch_object() will increment the internal row counter counter by one.

See also pg_query(), pg_fetch_array(), pg_fetch_assoc(), pg_fetch_row() and pg_fetch_result().

前一頁 | 內容 | 下一頁
pg_fetch_assoc | 上一層 | pg_fetch_result