pg_Fetch_Object

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

説明

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

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

pg_fetch_objectpg_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_arraypg_fetch_row も参照下さい。

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


 <?php 
 $database = "verlag";
 $db_conn = pg_connect ("localhost", "5432", "", "", $database);
 if (!$db_conn): ?>
     <H1>Failed connecting to postgres database <? echo $database ?></H1> <?
     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++;
 endwhile; ?>
 
 <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++;
 endwhile;
 echo "----------\n"; ?>
 </PRE> <?php
 pg_freeResult ($qu);
 pg_close ($db_conn);
 ?>