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);
?>