pg_Fetch_Object

(PHP 3>= 3.0.1, PHP 4 >= 4.0.0)

pg_Fetch_Object -- elabora una riga come un oggetto

Descrizione

object pg_fetch_object (int result, int row [, int result_type])

Restituisce: Un oggetto con proprietà che corrispondono alla riga elaborata, o falso se non ci sono ulteriori righe.

pg_fetch_object() è simile a pg_fetch_array(), con una differeza - un oggetto viene restituito, invece che un vettore. Indirettamente, ciò significa che potete accedere ai dati solamente tramite i nomi dei campi, e non tramite il loro offset (i numeri sono invalidi nomi di proprietà).

Il terzo parametro opzionale result_type in pg_fetch_object() è una costante e può assumere i seguenti valori: PGSQL_ASSOC, PGSQL_NUM, e PGSQL_BOTH.

Nota: Result_type è stata aggiunta in PHP 4.0.

Per ciò che riguarda la velocità, la funzione è identica a pg_fetch_array(), e veloce quasi quanto pg_fetch_row() (la differenza è insignificante).

Vedere anche: pg_fetch_array() e pg_fetch_row().

Esempio 1. elaborazione in un oggetto di Postgres


<?php 
$database = "verlag";
$db_conn = pg_connect ("localhost", "5432", "", "", $database);
if (!$db_conn): ?>
    <H1>Failed connecting to postgres database <? echo $database ?></H1> <?
    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++;
endwhile; ?>

<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++;
endwhile;
echo "----------\n"; ?>
</PRE> <?php
pg_freeResult ($qu);
pg_close ($db_conn);
?>