pg_fetch_object

(PHP 3 >= 3.0.1, PHP 4, PHP 5)

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.

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:35