Учебник РНР
Назад Вперёд

pg_fetch_object

(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.


Назад Оглавление Вперёд
pg_fetch_array Вверх pg_fetch_result