初めてのシステムと日記

システムも日記も初めてです。

研修(PEAR::DBでのクエリの結果の取得方法)

PEAR::DBでクエリを送信し、得た結果を取得する方法。

PEAR::DBのget関数を使う。これはクエリ送信も一緒にやってくれる関数。


■クエリ結果が1個の場合

getOne()を使う。

       // クエリ作成
        $query = "SELECT name FROM db_name WHERE id=1";

        // クエリ送信し結果を格納
        $res =& $db->getOne($query);

        // エラーがあったら表示
        if(DB::isError($res)){
            print $query->getMessage();
        }

getOne()は成功した場合、クエリの結果を、失敗した場合、エラーオブジェクトを返す。


■クエリ結果が複数の場合

getAssoc()を使う。

       // クエリ作成
        $query = "SELECT * FROM db_name";

        // クエリ送信し結果を格納
        $res =& $db->getAssoc($query);

        // エラーがあったら表示
        if(DB::isError($res)){
            print $query->getMessage();
        }

getAssoc()は結果を配列として返してくれる。

配列の返し方は引数にパラメーターを設定することで指定可能。


・DB_FETCHMODE_ORDERED

数値添字の配列が返される。引数を指定していないとこれがデフォルト。


・DB_FETCHMODE_ASSOC

カラム名がキーの配列が返される。


・DB_FETCHMODE_OBJECT

カラム名をプロパティとして持つオブジェクトが返される。

$row->a; みたいな。


これ以外にも取得方法はいくつか存在するのでマニュアル参照。

http://pear.php.net/manual/ja/package.database.db.php