(PHP 4, PHP 5)
pg_fetch_object — Carica una tupla in un oggetto
$result
[, int $tupla
[, int $tipo_risultato
]] )
pg_fetch_object() restituisce un oggetto avente
le proprietà che corrispondono alla tupla scaricata. Restituisce FALSE
se non ci sono più tuple o in caso di errore.
pg_fetch_object() è simile a pg_fetch_array(), con una differenza - viene restituito un oggetto invece che un array. Indirettamente, questo significa che si può accedere ai dati solo attraverso i nomi dei campi, e non attraverso i loro indici numerici (i nomi delle proprietà non possono essere numeri).
tupla
è il numero della riga (record) da
caricare. La prima tupla è la numero 0.
Per quanto riguarda la velocità di esecuzione, questa funzione è identica a pg_fetch_array(), ed è veloce quasi quanto pg_fetch_row() (la differenza è trascurabile).
Nota:
Dalla versione 4.1.0,
tupla
è opzionale.Dalla versione 4.3.0,
tipo_risultato
è di default a PGSQL_ASSOC mentre il default delle versioni precedenti era PGSQL_BOTH. La proprietà numerica è inutile, dal momento che un nome di proprietà numerico non è valido in PHP.
tipo_risultato
potrebbe essere abbandonato nelle versioni future.
Example #1 Postgres fetch object
<?php
$database = "verlag";
$db_conn = pg_connect ("host=localhost port=5432 dbname=$database");
if (!$db_conn): ?>
<H1>Failed connecting to postgres database <?php echo $database ?></H1> <?php
exit;
endif;
$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0; // postgres needs a row counter other dbs might not
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 needs a row counter other dbs might not
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_freeresult ($qu);
pg_close ($db_conn);
?>
Vedere anche pg_query(), pg_fetch_array(), pg_fetch_row() e pg_fetch_result().
Nota:
Dalla versione 4.1.0,
row
è diventato opzionale. La chiamata alla pg_fetch_object() incrementa di 1 il contatore di riga interno.