研修(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; みたいな。
これ以外にも取得方法はいくつか存在するのでマニュアル参照。