(PHP 4, PHP 5, PHP 7, PHP 8)
pg_fetch_object — Fetch a row as an object
$result
,$row
= null
,$class
= "stdClass",$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.
Зауваження: Ця функція встановлює NULL-полям значення PHP
null
.
Speed-wise, the function is identical to pg_fetch_array(), and almost as fast as pg_fetch_row() (the difference is insignificant).
result
Примірник PgSql\Result, якого повертає одна з функцій pg_query(), pg_query_params() або pg_execute() (серед інших).
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.
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.
A ValueError is thrown when
the constructor_args
is non-empty with the class not having constructor.
Версія | Опис |
---|---|
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 |
Тепер параметр result має бути примірником
PgSql\Result. Раніше очікувався resource.
|
Приклад #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);
?>