pg_Fetch_Object

pg_Fetch_Object -- 行をオブジェクトとして得る

説明

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

返り値: 取得した行に対応するプロパティを有するオブジェクト。 行がもうない場合は FALSE。

pg_fetch_object()pg_fetch_array() に似ていますが、 配列の代わりにオブジェクトが返されという違いがあります。 間接的に、このことはデータがオフセットではなく フィールド名によってのみアクセス可能であることを意味します。 (数字はプロパティ名として使用できません。)

pg_fetch_array() の 3番目の引数(オプション) result_typeは 定数であり、次の値をとります。: PGSQL_ASSOC, PGSQL_NUM, and PGSQL_BOTH.

注意: Result_type は PHP 4.0 で追加され ました。

速度面では、この関数は、 pg_fetch_array() と同じであり、 pg_fetch_row() とほとんど同じ程度です。(違いはわずかです)

pg_fetch_array()pg_fetch_row() も参照下さい。

例 1. Postgres によりオブジェクトを取得する

  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