PHP Manual
Prev |  | Next

# pg_fetch_object

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

pg_fetch_object -- Fetch a row as an object

## Description

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

pg_fetch_object() returns an object with properties that correspond to the fetched row. It returns `FALSE` if there are no more rows or error.

pg_fetch_object() is similar to pg_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

`result_type` is optional parameter controls how return value is initilized. `result_type` is a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM, and PGSQL_BOTH. pg_fetch_array() returns associative array that has field name as key for PGSQL_ASSOC. field index as key with PGSQL_NUM and both field name/index as key with PGSQL_BOTH. Default is PGSQL_BOTH.

> Note: `result_type` was added in PHP 4.0.

Speed-wise, the function is identical to pg_fetch_array(), and almost as quick as pg_fetch_row() (the difference is insignificant).

See also pg_exec(), pg_fetch_array(), pg_fetch_row() and pg_result().

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

Prev | Home | Next
pg_fetch_array | Up | pg_fetch_row