pg_fetch_object
(PHP 4, PHP 5, PHP 7, PHP 8)
Fetch a row as an object
Description
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.
Fetch-null
Speed-wise, the function is identical to pg_fetch_array(), and almost as fast as pg_fetch_row() (the difference is insignificant).
Parameters
resultResult
rowRow number in result to fetch. Rows are numbered from 0 upwards. If omitted or null, the next row is fetched.
classThe name of the class to instantiate, set the properties of and return. If not specified, a
stdClassobject is returned.constructor_argsAn optional
arrayof parameters to pass to the constructor forclassobjects.
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 a constructor.
Changelog
| Version | Description |
|---|---|
| 8.3.0 | Now throws a ValueError exception when the constructor_args is non-empty with the class not having a constructor; previously an Exception was thrown. |
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);
?>