(PHP 3>= 3.0.1, 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).
row is row (record) number to be
retrieved. First row is 0.
Speed-wise, the function is identical to
pg_fetch_array(), and almost as quick as
pg_fetch_row() (the difference is
insignificant).
Note:
Form 4.3.0, result_type is default to PGSQL_ASSOC while
older versions' default was PGSQL_BOTH. There is no use for numeric property,
since numeric property name is invalid in PHP.
result_type may be deleted in future versions.
See also pg_query(), pg_fetch_array(),
pg_fetch_row() and pg_fetch_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_query ($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_free_result ($qu);
pg_close ($db_conn);
?> |
|
Note:
From 4.1.0, row became optional.
Calling pg_fetch_object() will increment
internal row counter counter by 1.