pg_Fetch_Object

pg_Fetch_Object -- fetch row as object

Description

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

Returns: An object with properties that correspond to the fetched row, or false if there are no more rows.

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

The third optional argument result_type in pg_fetch_object() is a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM, and 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_fetch_array() and pg_fetch_row().

Example 1. Postgres fetch object

  1 
  2 <?php 
  3 $database = "verlag";
  4 $db_conn = pg_connect ("localhost", "5432", "", "", $database);
  5 if (!$db_conn): ?>
  6     <H1>Failed connecting to postgres database <? echo $database ?></H1> <?
  7     exit;
  8 endif;
  9 
 10 $qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
 11 $row = 0; // postgres needs a row counter other dbs might not 
 12 
 13 while ($data = pg_fetch_object ($qu, $row)):
 14     echo $data->autor." (";
 15     echo $data->jahr ."): ";
 16     echo $data->titel."<BR>";
 17     $row++;
 18 endwhile; ?>
 19 
 20 <PRE><?php
 21 $fields[] = Array ("autor", "Author");
 22 $fields[] = Array ("jahr",  "  Year");
 23 $fields[] = Array ("titel", " Title");
 24 
 25 $row= 0; // postgres needs a row counter other dbs might not
 26 while ($data = pg_fetch_object ($qu, $row)):
 27     echo "----------\n";
 28     reset ($fields);
 29     while (list (,$item) = each ($fields)):
 30         echo $item[1].": ".$data->$item[0]."\n";
 31     endwhile;
 32     $row++;
 33 endwhile;
 34 echo "----------\n"; ?>
 35 </PRE> <?php
 36 pg_freeResult ($qu);
 37 pg_close ($db_conn);
 38 ?>
 39