Podręcznik PHP
Poprzedni |  | Następny

# pg_fetch_object

(PHP 3>= 3.0.1, PHP 4 )

pg_fetch_object -- Pobiera wiersz jako obiekt

## Opis

object pg_fetch_object ( resource result, int row [, int result_type])

pg_fetch_object() zwraca obiekt którego atrybutami są dane pobranego wiersza. Zwraca `FALSE` jeśli nie ma więcej wierszy lub wystąpił błąd.

pg_fetch_object() jest podobna do pg_fetch_array(), z jedną różnicą - zwracany jest obiekt zamiast tablicy. Oznacza to że dane są dostępne tylko przez nazwy kolumn, a nie przez indeksy, gdyż liczby nie mogą być atrybutami obiektu.

`row` numer wiersza do pobrania. Pierwszy wiersz ma numer 0.

Pod względem szybkości funkcja ta jest identyczna jak pg_fetch_array(), i prawie tak szybka jak pg_fetch_row() (różnica jest nieznacząca).

> Notatka: Od wersji 4.3.0, `result_type` jest domyślnie ustawiany na PGSQL_ASSOC, podczas gdy w starszych wersjach domyślnie było PGSQL_BOTH. W przypadku tej funkcji indeksy kolumn nie maja nie maja zastosowania, gdyż liczby nie mogą być atrybutami obiektu.

> `result_type` może być usunięty w nowych wersjach.

Zobacz także pg_query(), pg_fetch_array(), pg_fetch_row() i pg_fetch_result().

Przykład 1. Postgres fetch object
`<?php $database = "verlag"; $db_conn = pg_connect ("host=localhost port=5432 dbname=$database"); if (!$db_conn): ?> <H1>Błąd przy połączeniu z bazą postgres <?php echo $database ?></H1> <?php exit; endif; $qu = pg_query ($db_conn, "SELECT * FROM verlag ORDER BY autor"); $row = 0; // postgres wymaga licznika wierszy, dla innych baz może być to zbędne 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 wymaga licznika wierszy, dla innych baz może być to zbędne 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); ?>`

> Notatka: Od wersji 4.1.0, `row` jest opcjonalny. Wywołanie pg_fetch_object() zwiększa wewnętrzny licznik wierszy o 1.

Poprzedni | Spis treści | Następny
pg_fetch_assoc | Początek rozdziału | pg_fetch_result