pg_fetch_object

pg_fetch_object -- Retorna uma linha (registro) como um objeto

Descrição

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

pg_fetch_object( ) retorna um objeto com propriedades que correspondem à linha recuperada . Retorna FALSE se não existem mais linhas ou no caso de erro .

pg_fetch_object( ) é similar a pg_fetch_array( ) , com uma diferença - um objeto é retornado , ao invés de um array . Indiretamente , isto significa que você pode acessar os dados somente através dos nomes de campos , e não por seus índices ( números são nomes inválidos de propriedades ) .

row é o número da linha ( registro ) a ser recuperada . A primeira linha é 0 .

Em termos de performance , a função é idêntica a pg_fetch_array( ) , e quase tão rápida quanto pg_fetch_row( ) (a diferença é insignificante ) .

Nota : A partir do PHP 4.1.0 , row é opcional .

A partir do PHP 4.3.0 , result_type tem PGSQL_ASSOC como valor padrão , enquanto em outras versões mais antigas o padrão é PGSQL_BOTH . Não utilidade para a propriedade numérica , que nomes de propriedades numéricas são inválidas em PHP .

O parâmetro result_type deverá ser removido em versões futuras .

Veja também pg_query( ) , pg_fetch_array( ) , pg_fetch_row( ) e pg_fetch_result( ) .

Exemplo 1 .





 
H1

 
Falha

 
ao

 
conectar

 
com

 
o

 
banco

 
de

 
dados

 
PostgreSQL

 
?php

 
echo

 
$database

 
?

 
/

 
H1

 
?php

 
exit

 
;

 
endif

 
;

 
$qu

 
=

 
pg_query

 
($db_conn

 
,

 
"SELECT

 
*

 
FROM

 
verlag

 
ORDER

 
BY

 
autor")

 
;

 
$row

 
=

 
0

 
;

 
/

 
/

 
postgresql

 
precisa

 
de

 
um

 
contador

 
de

 
linha

 
,

 
outros

 
dbs

 
talvez

 
não

 
precisem

 
while

 
($data

 
=

 
pg_fetch_object

 
($qu

 
,

 
$row)

 
)

 
{

 
echo

 
$data

 
-

 
autor

 
.

 
"

 
("

 
;

 
echo

 
$data

 
-

 
jahr

 
.")

 
:

 
"

 
;

 
echo

 
$data

 
-

 
titel

 
.

 
"

 
BR

 
"

 
;

 
$row++

 
;

 
}

 
?




 
PRE

 
?php

 
$fields[

 
]

 
=

 
Array

 
("autor"

 
,

 
"Autor")

 
;

 
$fields[

 
]

 
=

 
Array

 
("jahr"

 
,

 
"

 
Ano")

 
;

 
$fields[

 
]

 
=

 
Array

 
("titel"

 
,

 
"

 
Título")

 
;

 
$row=

 
0

 
;

 
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)

 
;

 
?





Nota : A partir do PHP 4.1.0 , row tornou-se opcional . Ao chamar pg_fetch_object( ) o contador de linhas interno será acrescentado de 1 .