このページでは、行ごとにループするのではなく 結果セット全体を一括取得するメソッドについての概要を説明します。 getOne()、 getRow()、 getCol()、 getAssoc() および getAll() が対象となります。
以下のようなテーブルをデータソースとして考えます。
id | nickname | |
---|---|---|
1 | pinky | [email protected] |
2 | thebrain | [email protected] |
単純に 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) "[email protected]"
}
getCol() は、すべての行の最初のカラムを取得します。
array(2) {
[0]=> string(5) "pinky"
[1]=> string(8) "thebrain"
}
getAssoc() は、すべての行を配列に取り込みます。 行の最初のカラムが配列のキーとなります。 このカラムは、配列そのものには含まれなくなります。
array(2) {
["pinky"] => array(2) {
[0] => string(1) "1"
[1] => string(20) "[email protected]"
}
["thebrain"] => array(2) {
[0] => string(1) "2"
[1] => string(20) "[email protected]"
}
}
getAll() は、すべての行のすべてのカラムを配列に取り込みます。
array(2) {
[0] => array(3) {
[0] => string(5) "pinky"
[1] => string(1) "1"
[2] => string(20) "[email protected]"
}
[1] => array(3) {
[0] => string(8) "thebrain"
[1] => string(1) "2"
[2] => string(20) "[email protected]"
}
}