pg_fetch_object

Fetch a row as an object

&reftitle.description; ``object``false```pg_fetch_object` `PgSql\Result` `result` ``int``null```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.

&database.fetch-null;

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

&reftitle.parameters;

`result`

- &pgsql.parameter.result;

`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.

&reftitle.returnvalues;

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.

&reftitle.errors;

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

&reftitle.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.
&pgsql.changelog.result-object;

&reftitle.examples;

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

    ?>

&reftitle.seealso;

- `pg_query`
- `pg_fetch_array`
- `pg_fetch_assoc`
- `pg_fetch_row`
- `pg_fetch_result`