PHP マニュアル
前のページ |  | 次のページ

# pg_fetch_object

(PHP 3>= 3.0.1, PHP 4 )

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

## 説明

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

pg_fetch_object()は、取得した行に対応するプロ パティを有するオブジェクトを返します。この関数は、行がもうない場 合またはエラーには`FALSE`を返します。

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

`row` は、取得する行(レコード)番号です。最初の レコードは0です。

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

> 注意 `result_type`に関して従来のバージョンのデフォ ルト値は、PGSQL_BOTHでしたが、4.3.0から `result_type`のデフォルトはPGSQL_ASSOCとなっ ています。PHPではプロパティ名に数値を使用することはできないため、 プロパティ名に数値を使用することはできません。

> `result_type`は、将来的なバージョンでは削除さ れる可能性があります。

pg_query(), pg_fetch_array(), pg_fetch_row(), pg_fetch_result() も参照下さい。

例 1Postgres によりオブジェクトを取得する
    <?php
    $database = "verlag";
    $db_conn = pg_connect ("host=localhost port=5432 dbname=$database");
    if (!$db_conn): ?>
        <H1>Failed connecting to postgres database <? echo $database ?></H1> <?php
        exit;
    endif;

    $qu = pg_query ($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++;
    }
    ?>
    <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++;
    }
    echo "----------\n"; ?>
    </PRE>
    <?php
    pg_free_result ($qu);
    pg_close ($db_conn);
    ?>

> 注意 4.1.0以降、`row`はオプションとなっています。 pg_fetch_object() をコールすることにより、内部 的なレコードカウンタは1増加します。

前のページ | ホーム | 次のページ
pg_fetch_assoc | 上に戻る | pg_fetch_result