データベース クイックスタート:コード例
次のページには、データベースクラスの使用方法を示すコード例が含まれています。詳細については、各関数を説明する個々のページを参照してください。
注記
CodeIgniterは、データベース、テーブル、カラム名にドット(.
)をサポートしていません。
データベースクラスの初期化
以下のコードは、設定に基づいてデータベースクラスを読み込み、初期化します。
<?php
$db = \Config\Database::connect();
読み込まれると、クラスは以下に説明されているように使用できるようになります。
注記
すべてのページでデータベースアクセスが必要な場合は、自動的に接続できます。接続ページで詳細を参照してください。
複数の結果を持つ標準クエリ(オブジェクトバージョン)
<?php
$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()
関数は、**オブジェクト**の配列を返します。例:
$row->title
複数の結果を持つ標準クエリ(配列バージョン)
<?php
$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']
単一の結果を持つ標準クエリ
<?php
$query = $db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->getRow();
echo $row->name;
上記のgetRow()
関数は、**オブジェクト**を返します。例:$row->name
単一の結果を持つ標準クエリ(配列バージョン)
<?php
$query = $db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->getRowArray();
echo $row['name'];
上記のgetRowArray()
関数は、**配列**を返します。例:$row['name']
。
標準的な挿入
<?php
$sql = 'INSERT INTO mytable (title, name) VALUES (' . $db->escape($title) . ', ' . $db->escape($name) . ')';
$db->query($sql);
echo $db->affectedRows();
クエリビルダークエリ
クエリビルダーパターンを使用すると、データの取得を簡素化できます。
<?php
$query = $db->table('table_name')->get();
foreach ($query->getResult() as $row) {
echo $row->title;
}
上記のget()
関数は、指定されたテーブルからすべての結果を取得します。クエリビルダークラスには、データ操作のための完全な機能セットが含まれています。
クエリビルダー挿入
<?php
$data = [
'title' => $title,
'name' => $name,
'date' => $date,
];
$db->table('mytable')->insert($data);
// Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')