(PHP 4, PHP 5, PHP 7, PHP 8)
pg_fetch_object — Выбирает строку результата запроса и возвращает данные в виде объекта
$result
,$row
= null
,$class
= "stdClass",$constructor_args
= []Функция pg_fetch_object() возвращает объект, свойства которого соответствуют именам полей выборки. Функция опционально создаёт экземпляр конкретного класса и передаёт параметры конструктору этого класса.
Замечание: Эта функция устанавливает NULL-поля в значение
null
PHP.
По скорости функция идентична функции pg_fetch_array() и немного медленней функции pg_fetch_row(); разница незначительна.
result
Экземпляр класса PgSql\Result, который возвращают функции pg_query(), pg_query_params() или pg_execute() (среди прочего).
row
Номер строки, которую функция выбирает из результата запроса. Нумерация начинается
с нуля. Функция берёт следующую по очереди строку, если аргумент опущен или равен null
.
class
Имя класса объекта, который создаст и вернёт функция. Если не задано, функция создаст экземпляр класса stdClass.
constructor_args
Необязательный массив (array) параметров для передачи в конструктор
объекта class
.
Функция возвращает объект (object), имена и значения свойств которого соответствуют
именам и значениям полей результата запроса. Функция преобразовывает значения NULL
базы данных в значения PHP null
.
Функция возвращает значение false
, если значение параметра
row
превышает число строк в результате запроса,
когда строк в результате не осталось, и при прочих ошибках.
Функция выбросит исключение ValueError,
если в параметр constructor_args
передали не пустой массив,
а у класса нет конструктора.
Версия | Описание |
---|---|
8.3.0 |
Функция теперь выбрасывает исключение a ValueError,
если в параметр constructor_args передали не пустой массив,
а у класса нет конструктора;
раньше функция выбрасывала исключение Exception.
|
8.1.0 |
Параметр result теперь ожидает экземпляр класса
PgSql\Result; раньше параметр ожидал ресурс (resource).
|
Пример #1 Пример использования функции pg_fetch_object()
<?php
$database = "store";
$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
echo "Невозможно соединиться с базой postgres $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);
?>