数据库快速入门:示例代码

以下页面包含显示数据库类用法的示例代码。有关完整详细信息,请阅读描述每个函数的单独页面。

备注

CodeIgniter 不支持在表名和列名中使用点(.)。自 v4.5.0 起,支持带点的数据库名称。

初始化数据库类

以下代码基于你的 配置 设置加载并初始化数据库类:

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