全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

CodeIgniter数据库怎么操作_CodeIgniter数据库操作方法与实例

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

确保 hostnameusernamepassworddatabase 正确无误。默认情况下,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. 使用查询构造器获取数据

  • $this->db->get():获取整张表数据
  • $this->db->where():添加条件
  • $this->db->result():返回对象数组
  • $this->db->row():返回单个对象
$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小时内与您取得联系。