データベース クイックスタート:コード例

次のページには、データベースクラスの使用方法を示すコード例が含まれています。詳細については、各関数を説明する個々のページを参照してください。

注記

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}')