PostgreSQL Funzioni
PHP Manual

pg_fetch_object

(PHP 4, PHP 5)

pg_fetch_objectCarica 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.

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");

$row0// 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.


PostgreSQL Funzioni
PHP Manual