# pg_fetch_object

(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` ]] )
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).

### Parameters

`result`

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

`row`

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

`result_type`

  Ignored and deprecated. Defaults to `PGSQL_ASSOC`.

`class_name`

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

`params`

  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.

### ChangeLog

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.

### Examples

Example#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");
while ($data = pg_fetch_object($qu)) {
echo $data->author . " (";
echo $data->year . "): ";
echo $data->title . "<br />";
}
pg_free_result($qu);
pg_close($db_conn);
?>`

### See Also

- pg_query()
- pg_fetch_array()
- pg_fetch_assoc()
- pg_fetch_row()
- pg_fetch_result()