概要 - get* メソッド群

概要 - get* メソッド群 -- get* 系のメソッドの比較

説明

このページでは、行ごとにループするのではなく 結果セット全体を一括取得するメソッドについての概要を説明します。 getOne() getRow() getCol() getAssoc() および getAll() が対象となります。

以下のようなテーブルをデータソースとして考えます。

表 39-1このサンプルで使用するデータ

idnicknameemail
1pinkypinky@domination.org
2thebrainbrain@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')
);
?>

getOne

getOne() は、最初の行の最初のカラムを取得します。
string(5) "pinky"

getRow

getRow() は、最初の行を取得します。
array(3) {
  [0] => string(5)  "pinky"
  [1] => string(1)  "1"
  [2] => string(20) "pinky@domination.org"
}

getCol

getCol() は、すべての行の最初のカラムを取得します。
array(2) {
  [0]=> string(5) "pinky"
  [1]=> string(8) "thebrain"
}

getAssoc

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

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"
  }
}