pg_fetch_object

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





 
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 .