Manuel PHP
Précédent |  | Suivant

# pg_Fetch_Object

(3.0.1 - 3.0.18 only, PHP 4 >= 4.0.0)

pg_Fetch_Object -- Lit une ligne dans un objet.

## Description

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

pg_fetch_object() retourne un objet dont les membres sont les champs de la ligne demandée, ou `FALSE` , si il n'y a plus de lignes.

pg_fetch_object() est similaire à pg_fetch_array(), avec une différence majeure : c'est un objet qui est retourné, au lieu d'un tableau. Par conséquent, cela signifie que vous ne pouvez accéder aux membres qu'avec leur nom, et non plus leur offset (les nombres ne sont pas autorisés comme nom de membre).

L'argument optionnel `result_type` de `result_type` est une constante qui peut prendre les valeurs suivantes : PGSQL_ASSOC, PGSQL_NUM, et PGSQL_BOTH.

> Note : `result_type` a été ajouté dans PHP 4.0.

Au niveau vitesse, pg_fetch_object() est aussi rapide que pg_fetch_row() et presque aussi rapide que pg_fetch_row() (la différence est non significative).

Voir aussi pg_fetch_array() et pg_fetch_row().

Exemple 1. Lecture d'un objet Postgres
    <?php
    $database = "verlag";
    $db_conn = pg_connect("host=localhost port=5432 dbname=$database");
    if (!$db_conn):
    ?>
        <H1>Connexion impossible à la base postgres <?php echo $database ></H1> <?php
        exit;
    endif;
    $qu = pg_exec($db_conn, "SELECT * FROM verlag ORDER BY autor");
    $row = 0; // postgres réclame un compteur de ligne, d'autres bases ne le font pas.
    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 réclame un compteur de ligne, d'autres bases ne le font pas.
    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);
    ?>

Précédent | Sommaire | Suivant
pg_Fetch_Array | Niveau supérieur | pg_Fetch_Row