pg_fetch_object

(PHP 3>= 3.0.1, PHP 4 >= 4.0.0)

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、PGSQL_BOTHのどれかとなります。

注意 result_typeはPHP4.0で追加されました。

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

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

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


<?php 
$database = "verlag";
$db_conn = pg_connect ("localhost", "5432", "", "", $database);
if (!$db_conn): ?>
    <H1>Failed connecting to postgres database <? echo $database ?></H1> <?php
    exit;
endif;
 
$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0; // Postgresでは他のデータベースと異なり、行カウンタが必要
 
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では他のデータベースと異なり、行カウンタが必要
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);
?>