Forum und email


(PHP 4, PHP 5)

pg_fetch_object — Fetch a row as an object


object pg_fetch_object ( resource $result [, int $row [, int $result_type ]] )
object pg_fetch_object ( resource $result [, int $row [, string $class_name [, array $params ]]] )

pg_fetch_object() returns an object with properties that correspond to the fetched row's field names. It can optionally instantiate an object of a specific class, and pass parameters to that class's constructor.

Note: This function sets NULL fields to PHP NULL value.

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



PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).


Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.


Ignored and deprecated. Defaults to PGSQL_ASSOC.


The name of the class to instantiate, set the properties of and return. If not specified, a stdClass object is returned.


An optional array of parameters to pass to the constructor for class_name objects.

Return Values

An object with one attribute for each field name in the result. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.


Version Description
5.0.0 class_name and params were added. The old form with result_type still exists for backwards compatibility.
4.3.0 result_type default changed from PGSQL_BOTH to PGSQL_ASSOC, since the numeric index was illegal.
4.1.0 The parameter row became optional.


Example#1 pg_fetch_object() example



$db_conn pg_connect("host=localhost port=5432 dbname=$database");
if (!
$db_conn) {
"Failed connecting to postgres database $database\n";

$qu pg_query($db_conn"SELECT * FROM books ORDER BY author");

while (
$data pg_fetch_object($qu)) {
$data->author " (";
$data->year "): ";
$data->title "<br />";