CodeIgniter通过配置database.php文件设置数据库连接,加载数据库类后可使用原生查询或查询构造器进行增删改查操作,推荐将逻辑封装到模型中以实现解耦,关键在于正确配置参数并熟练运用链式调用语法。
CodeIgniter 提供了强大的数据库操作类,让开发者可以方便地进行数据库连接、查询、插入、更新、删除等操作。它的数据库抽象层支持多种数据库(如 MySQL、PostgreSQL、SQLite 等),并提供了灵活的查询构造器(Query Builder)来简化 SQL 编写。下面详细介绍 CodeIgniter 的数据库操作方法与实例。
在使用数据库之前,需要先配置数据库连接信息。打开 application/config/database.php 文件,设置数据库参数:
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => 'your_password',
'database' => 'your_database',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci'
);
确保 hostname、username、password 和 database 正确无误。默认情况下,CodeIgniter 会自动加载此配置。
在控制器中使用数据库前,需要先加载数据库类:
$this->load->database();
也可以在 application/config/autoload.php 中自动加载,避免每次手动加载:
$autoload['libraries'] = array('database');

以下是一些常见的数据库操作示例,基于模型或控制器中调用。
1. 执行原生 SQL 查询
$query = $this->db->query("SELECT * FROM users WHERE age > 20");
foreach ($query->result() as $row) {
echo $row->name;
}
2. 使用查询构造器获取数据
$query = $this->db->get('users'); // SELECT * FROM users
$query = $this->db->where('id', 5)->get('users'); // SELECT * FROM users WHERE id = 5
$user = $query->row(); // 获取单条记录
3. 插入数据
$data = array(
'name' => '张三',
'email' => 'zhangsan@example.com',
'age' => 25
);
$this->db->insert('users', $data); // INSERT INTO users SET ...
echo $this->db->insert_id(); // 获取最后插入的 ID
4. 更新数据
$data = array(
'name' => '李四',
'age' => 26
);
$this->db->where('id', 5);
$this->db->update('users', $data); // UPDATE users SET ... WHERE id = 5
5. 删除数据
$this->db->where('id', 5);
$this->db->delete('users'); // DELETE FROM users WHERE id = 5
6. 链式操作示例
$result = $this->db
->select('id, name, email')
->from('users')
->where('status', 1)
->limit(10)
->get()
->result();
将数据库逻辑封装到模型中是最佳实践。创建一个模型文件 application/models/User_model.php:
class User_model extends CI_Model {
public function get_users($status = 1) {
return $this->db->where('status', $status)->get('users')->result();
}
public function insert_user($data) {
$this->db->insert('users', $data);
return $this->db->insert_id();
}}
在控制器中调用:
$this->load->model('User_model');
$users = $this->User_model->get_users();
基本上就这些。掌握这些基础操作后,就能高效使用 CodeIgniter 进行数据库开发。关键是熟悉查询构造器语法,并合理使用模型分离业务逻辑。不复杂但容易忽略的是配置文件和自动加载的设置,务必检查 database.php 是否正确。
# mysql
# php
# word
# app
# ai
# 配置文件
# sql
# 封装
# 对象
# this
# sqlite
# database
# postgresql
# 数据库
# 链式
# 加载
# 器中
# 数据库类
# 自动加载
# 的是
# 就能
# 详细介绍
# 创建一个
# 关键在于
相关文章:
免费网站制作appp,免费制作app哪个平台好?
如何在万网自助建站平台快速创建网站?
建站VPS选购需注意哪些关键参数?
建站之星如何快速解决建站难题?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
上海网站制作开发公司,上海买房比较好的网站有哪些?
平台云上自助建站如何快速打造专业网站?
如何用腾讯建站主机快速创建免费网站?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
如何通过cPanel快速搭建网站?
股票网站制作软件,网上股票怎么开户?
如何快速搭建高效香港服务器网站?
深圳网站制作培训,深圳哪些招聘网站比较好?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
如何在万网主机上快速搭建网站?
如何快速完成中国万网建站详细流程?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
潮流网站制作头像软件下载,适合母子的网名有哪些?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
微信小程序 input输入框控件详解及实例(多种示例)
建站之星后台管理系统如何操作?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
如何注册花生壳免费域名并搭建个人网站?
如何做网站制作流程,*游戏网站怎么搭建?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
微信推文制作网站有哪些,怎么做微信推文,急?
宝塔建站助手安装配置与建站模板使用全流程解析
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
威客平台建站流程解析:高效搭建教程与设计优化方案
高端网站建设与定制开发一站式解决方案 中企动力
制作门户网站的参考文献在哪,小说网站怎么建立?
兔展官网 在线制作,怎样制作微信请帖?
个人网站制作流程图片大全,个人网站如何注销?
表情包在线制作网站免费,表情包怎么弄?
b2c电商网站制作流程,b2c水平综合的电商平台?
建站之星展会模版如何一键下载生成?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
如何在云虚拟主机上快速搭建个人网站?
文字头像制作网站推荐软件,醒图能自动配文字吗?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
*请认真填写需求信息,我们会在24小时内与您取得联系。