pg_fetch_object

pg_fetch_object -- Holt einen Datensatz als Objekt

Beschreibung

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

pg_fetch_object( ) gibt ein Objekt zurück , dessen Eigenschaften mit den Feldern des erhaltenen Datensatzes übereinstimmen oder FALSE , wenn kein Datensatz mehr gelesen werden konnte oder ein Fehler auftrat .

pg_fetch_object( ) ist pg_fetch_array( ) ähnlich , mit einem Unterschied : Statt eines Arrays wird ein Objekt zurückgegeben . Indirekt heisst das , dass man die Daten nur über die Feldnamen und nicht über ihre Offsets ansprechen kann ( Zahlen sind nicht erlaubte Eigenschaftsnamen ) .

row ist die Zeilennummer , die Nummerierung beginnt bei 0 .

Von der Geschwindigkeit her ist die Funktion mit pg_fetch_array( ) identisch und fast so schnell wie pg_fetch_row( ) (Der Unterschied ist unwesentlich ) .

Anmerkung : Ab der PHP-Version 4.3.0 ist die Standardeinstellung von result_type PGSQL_ASSOC , während PGSQL_BOTH in älteren Versionen voreingestellt ist . Da nummerische Eigenschaftsnamen von Objekten nicht erlaubt sind , ist PGSQL_BOTH überflüssig .

result_type wird möglicherweise in zukünftigen Versionen gelöscht werden .

Siehe auch pg_query( ) , pg_fetch_array( ) , pg_fetch_row( ) und pg_fetch_result( ) .

Beispiel 1 . PostgreSQL fetch object





 
H1

 
Konnte

 
keine

 
Verbindung

 
zur

 
PostgreSQL

 
Datenbank

 
?php

 
echo

 
$database

 
;

 
?

 
herstellen

 
.

 
/

 
H1

 
?php

 
exit

 
;

 
endif

 
;

 
$qu

 
=

 
pg_query

 
($db_conn

 
,

 
"SELECT

 
*

 
FROM

 
verlag

 
ORDER

 
BY

 
autor")

 
;

 
$row

 
=

 
0

 
;

 
/

 
/

 
PostgreSQL

 
braucht

 
einen

 
Zähler

 
,

 
andere

 
DBs

 
evtl

 
.

 
nicht

 
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"

 
,

 
"

 
Jahr")

 
;

 
$fields[

 
]

 
=

 
Array

 
("titel"

 
,

 
"

 
Titel")

 
;

 
$row=

 
0

 
;

 
/

 
/

 
PostgreSQL

 
braucht

 
einen

 
Zähler

 
,

 
andere

 
DBs

 
evtl

 
.

 
nicht

 
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)

 
;

 
?





Anmerkung : Ab der Version 4.1.0 ist der Parameter row optional . Ein Aufruf von pg_fetch_object( ) inkrementiert den internen Datensatzzähler um 1 .