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 によりオブジェクトを取得する
<?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); ?>