CodeIgniter通过内置的数据库类库简化了PHP项目中的数据持久化工作。开发者既可以书写原生SQL,也可以使用框架封装的Active Record方法来操作数据表,从而降低拼接语句带来的出错风险。

一、数据库配置
在使用之前,需要打开 application/config/database.php 文件,填写数据库连接信息。常见配置如下:
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '123456',
'database' => 'test_db',
'dbdriver' => 'mysqli',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'autoinit' => TRUE,
);
配置完成后,在控制器或模型中通过 $this->load->database(); 即可载入数据库对象。
二、使用原生SQL查询
如果习惯手写SQL,可以调用 query() 方法执行语句并获取结果:
// 执行查询
$sql = 'SELECT * FROM users WHERE age > ?';
$query = $this->db->query($sql, array(18));
// 遍历结果
foreach ($query->result() as $row) {
echo $row->name;
echo '<br/>';
}
三、Active Record增删改查
1. 查询数据
使用 get() 与 where() 链式的写法更直观:
// 查询status为1的用户
$this->db->where('status', 1);
$query = $this->db->get('users');
$list = $query->result_array();
2. 插入数据
使用 insert() 方法插入一条记录:
$data = array(
'name' => '张三',
'age' => 22,
'status' => 1
);
$this->db->insert('users', $data);
// 获取自增ID
$new_id = $this->db->insert_id();
3. 更新数据
结合 where() 与 update() 修改指定行:
$this->db->where('id', 10);
$this->db->update('users', array('status' => 0));
4. 删除数据
调用 delete() 方法移除数据:
$this->db->where('id', 10);
$this->db->delete('users');
四、小结
CodeIgniter的数据库操作既支持原生SQL,也提供了清晰的Active Record接口。日常开发中推荐优先使用Active Record,可减少SQL注入风险并提升代码可读性。当遇到复杂统计或联表场景时,再配合 query() 方法补充即可。
CodeIgniter数据库操作Active_Record修改时间:2026-07-31 04:33:18