pg_fetch_object

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_objectВыбирает строку результата запроса и возвращает данные в виде объекта

Описание

pg_fetch_object(
    PgSql\Result$result,
    ?int$row = null,
    string$class = "stdClass",
    array$constructor_args = []
): object|false

Функция 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);

?>

Смотрите также

  • pg_query() - Выполняет запрос
  • pg_fetch_array() - Возвращает строку результата в виде массива
  • pg_fetch_assoc() - Выбирает строку результата запроса и помещает данные в ассоциативный массив
  • pg_fetch_row() - Выбирает строку результата запроса и помещает данные в массив
  • pg_fetch_result() - Возвращает запись из результата запроса
To Top