データベースクイックスタート: サンプルコード¶
このページではデータベースクラスがどのように使われるかを見せてくれるサンプルコードを示します。完全な詳細についてはそれぞれの機能について書かれた個々のページをご覧ください。
データベースクラスの初期化¶
次のコードは 設定 に基づいたデータベースクラスのロードと初期化をします:
$db = \Config\Database::connect();
一度クラスがロードされれば、以下に説明しますように使うための準備ができます。
Note: もしすべてのページでデータベースアクセスが必要であれば、自動的に接続することができます。詳しくは 接続 ページをご覧ください。
複数行を返す標準的クエリ(オブジェクトバージョン)¶
$query = $db->query('SELECT name, title, email FROM my_table');
$results = $query->getResult();
foreach ($results as $row)
{
echo $row->title;
echo $row->name;
echo $row->email;
}
echo 'Total Results: ' . count($results);
上の getResult() メソッドは object の配列を返します。例: $row->title
複数行を返す標準的クエリ(配列バージョン)¶
$query = $db->query('SELECT name, title, email FROM my_table');
$results = $query->getResultArray();
foreach ($results as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['email'];
}
上の getResultArray() メソッドは標準的なキーを持つ配列の配列を返します。例: $row['title']
単一行を返す標準的クエリ¶
$query = $db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->getRow();
echo $row->name;
上の getRow() メソッドは object を返します。例: $row->name
単一行を返す標準的クエリ(配列バージョン)¶
$query = $db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->getRowArray();
echo $row['name'];
上の getRowArray() メソッドは 配列 を返します。例: $row['name']
標準的インサート¶
$sql = "INSERT INTO mytable (title, name) VALUES (".$db->escape($title).", ".$db->escape($name).")";
$db->query($sql);
echo $db->affectedRows();
クエリビルダによるクエリ¶
クエリビルダパターン はデータを取得する簡便な方法を提供します:
$query = $db->table('table_name')->get();
foreach ($query->getResult() as $row)
{
echo $row->title;
}
上の get() メソッドは与えられたテーブルの全行を取得します。The Query Builder class contains a full complement of functions for working with data.
クエリビルダによるインサート¶
$data = [
'title' => $title,
'name' => $name,
'date' => $date
];
$db->table('mytable')->insert($data); // Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')