pg_Fetch_Object

pg_Fetch_Object -- Lit une ligne dans un objet.

Description

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

pg_fetch_object( ) retourne un objet dont les membres sont les champs de la ligne demandée , ou FALSE , si il n 'y a plus de lignes .

pg_fetch_object( ) est similaire à pg_fetch_array( ) , avec une différence majeure : c'est un objet qui est retourné , au lieu d 'un tableau . Par conséquent , cela signifie que vous ne pouvez accéder aux membres qu' avec leur nom , et non plus leur offset (les nombres ne sont pas autorisés comme nom de membre ) .

L ' argument optionnel result_type de result_type est une constante qui peut prendre les valeurs suivantes : PGSQL_ASSOC , PGSQL_NUM , et PGSQL_BOTH .

Note : result_type a été ajouté dans PHP 4.0.



Au niveau vitesse , pg_fetch_object( ) est aussi rapide que pg_fetch_row( ) et presque aussi rapide que pg_fetch_row( ) (la différence est non significative ) .

Voir aussi pg_fetch_array( ) et pg_fetch_row( ) .

Exemple 1 . Lecture d ' un objet Postgres

 
?php

 
$database

 
=

 
"

 
verlag"

 
;

 
$db_conn

 
=

 
pg_connect("host=localhost

 
port=5432

 
dbname=$database")

 
;

 
if

 
(!$db_conn

 
)

 
:

 
?




 
H1

 
Connexion

 
impossible

 
à

 
la

 
base

 
postgres

 
?php

 
echo

 
$database

 
/

 
H1

 
?php

 
exit

 
;

 
endif

 
;

 
$qu

 
=

 
pg_exec($db_conn

 
,

 
"SELECT

 
*

 
FROM

 
verlag

 
ORDER

 
BY

 
autor")

 
;

 
$row

 
=

 
0

 
;

 
/

 
/

 
postgres

 
réclame

 
un

 
compteur

 
de

 
ligne

 
,

 
d'autres

 
bases

 
ne

 
le

 
font

 
pas

 
.

 
while

 
($data

 
=

 
pg_fetch_object($qu

 
,

 
$row))

 
:

 
echo

 
$data

 
-

 
autor

 
.

 
"

 
("

 
;

 
echo

 
$data

 
-

 
jahr

 
.")

 
:

 
"

 
;

 
echo

 
$data

 
-

 
titel

 
.

 
"

 
BR

 
"

 
;

 
$row++

 
;

 
endwhile

 
;

 
?




 
PRE

 
?php

 
$fields[

 
]

 
=

 
array("autor"

 
,

 
"Author")

 
;

 
$fields[

 
]

 
=

 
array("jahr"

 
,

 
"

 
Year")

 
;

 
$fields[

 
]

 
=

 
array("titel"

 
,

 
"

 
Title")

 
;

 
$row=

 
0

 
;

 
/

 
/

 
Postgres

 
réclame

 
un

 
compteur

 
de

 
ligne

 
,

 
d'autres

 
bases

 
ne

 
le

 
font

 
pas

 
.

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

 
;

 
endwhile

 
;

 
echo

 
"----------\n"

 
;

 
?

 
/

 
PRE

 
?php

 
pg_freeresult($qu)

 
;

 
pg_close($db_conn)

 
;

 
?