(PHP 4, PHP 5)
pg_fetch_object — Retorna uma linha (registro) como um objeto
$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 há utilidade para a propriedade numérica, já que nomes de propriedades numéricas são inválidas em PHP.O parâmetro
result_type
deverá ser removido em versões futuras.
Exemplo #1 Postgres fetch object
<?php
$database = "store";
$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
echo "Failed connecting to postgres database $database\n";
exit;
}
$qu = pg_query($db_conn, "SELECT * FROM books ORDER BY author");
$row = 0; // postgres needs a row counter
while ($data = pg_fetch_object($qu, $row)) {
echo $data->author . " (";
echo $data->year . "): ";
echo $data->title . "<br />";
$row++;
}
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.
Veja também pg_query(), pg_fetch_array(), pg_fetch_row() e pg_fetch_result().