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