(PHP 3 >= 3.0.1, PHP 4, PHP 5)
pg_fetch_object -- Carica una tupla in un oggetto
Descrizione
object
pg_fetch_object ( resource 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.
Esempio 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.