pg_fetch_object

Fetch a row as an object

Description

objectfalse pg_fetch_object(
    PgSql\Result $result,
    intnull $row = null,
    string $class = "stdClass",
    array $constructor_args = []
)

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 the 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

An PgSql\Result instance, 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 or null, the next row is fetched.

class

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

constructor_args

An optional array of parameters to pass to the constructor for class 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.

Errors/Exceptions

A ValueError is thrown when the constructor_args is non-empty with the class not having constructor.

Changelog

Version Description
8.3.0 Now throws a ValueError exception when the constructor_args is non-empty with the class not having constructor; previously an Exception was thrown.
8.1.0 The result parameter expects an PgSql\Result instance now; previously, a resource was expected.

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