 |
(PHP
3>= 3.0.1, PHP 4) pg_fetch_object - извлекает ряд как объект. Описаниеobject
pg_fetch_object (resource result, int row [, int result_type]) pg_fetch_object()
возвращает объект со свойствами, соответствующий извлечённому ряду. Возвращает
FALSE, если рядов больше нет или имеется ошибка. pg_fetch_object()
аналогична pg_fetch_array(), с тем только
отличием, что возвращается объект, а не массив. Неявно это означает, что вы можете
получить доступ к данным только по именам полей, а не по их смещениям (числа являются
недопустимыми именами свойств). row это количество запрашиваемых
рядов (записей). Первый ряд 0. По скорости работы эта функция идентична
pg_fetch_array() и почти так же быстра,
как pg_fetch_row() (разница незначительна). Примечание:
начиная с 4.3.0, result_type по умолчанию равен PGSQL_ASSOC,
а в более старых версиях - PGSQL_BOTH. Числовое свойство не используется, поскольку
числовое имя свойства недопустимо в PHP. result_type может
быть удалён в последующих версиях.
См. также pg_query(),
pg_fetch_array(), pg_fetch_row()
и pg_fetch_result(). Пример
1. Извлечение объекта в Postgres<?php
$database = "verlag"; $db_conn = pg_connect ("host=localhost port=5432 dbname=$database");
if (!$db_conn): ?> <H1>Failed connecting to postgres database <?php
echo $database ?></H1> <?php exit; endif; $qu = pg_query ($db_conn,
"SELECT * FROM verlag ORDER BY autor"); $row = 0; // в postgres необходим счётчик
рядов, другие dbs могут и не требовать while ($data = pg_fetch_object ($qu, $row))
{ echo $data->autor." ("; echo $data->jahr ."): "; echo $data->titel."<BR>";
$row++; } ?> <PRE> <?php $fields[] = Array ("autor", "Author");
$fields[] = Array ("jahr", " Year"); $fields[] = Array ("titel", " Title"); $row=
0; // в postgres необходим счётчик рядов, другие dbs могут и не требовать while
($data = pg_fetch_object ($qu, $row)) { echo "----------\n"; reset ($fields);
while (list (,$item) = each ($fields)): echo $item[1].": ".$data->$item[0]."\n";
endwhile; $row++; } echo "----------\n"; ?> </PRE> <?php pg_free_result
($qu); pg_close ($db_conn); ?> |
|
Примечание:
начиная с 4.1.0, row стал необязательным параметром. Вызов
pg_fetch_object() увеличивает внутренний счётчик рядов на 1.
|  |