このページでは、行ごとにループするのではなく 結果セット全体を一括取得するメソッドについての概要を説明します。 getOne()、 getRow()、 getCol()、 getAssoc() および getAll() が対象となります。
以下のようなテーブルをデータソースとして考えます。
表 39-1このサンプルで使用するデータ
id | nickname | |
---|---|---|
1 | pinky | pinky@domination.org |
2 | thebrain | brain@dominators.net |
単純に var_dump() を使用して、 各メソッドの使用法を見ていくことにします。
<?php require_once 'DB.php'; $db = DB::connect('mysql://user:pass@localhost/example'); var_dump( $db->getOne('SELECT nickname, id, email FROM users') ); ?> |
getRow() は、最初の行を取得します。
array(3) { [0] => string(5) "pinky" [1] => string(1) "1" [2] => string(20) "pinky@domination.org" } |
getCol() は、すべての行の最初のカラムを取得します。
array(2) { [0]=> string(5) "pinky" [1]=> string(8) "thebrain" } |
getAssoc() は、すべての行を配列に取り込みます。 行の最初のカラムが配列のキーとなります。 このカラムは、配列そのものには含まれなくなります。
array(2) { ["pinky"] => array(2) { [0] => string(1) "1" [1] => string(20) "pinky@domination.org" } ["thebrain"] => array(2) { [0] => string(1) "2" [1] => string(20) "brain@dominators.net" } } |
getAll() は、すべての行のすべてのカラムを配列に取り込みます。
array(2) { [0] => array(3) { [0] => string(5) "pinky" [1] => string(1) "1" [2] => string(20) "pinky@domination.org" } [1] => array(3) { [0] => string(8) "thebrain" [1] => string(1) "2" [2] => string(20) "brain@dominators.net" } } |