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

看不見的法師
发布: 2025-11-25 20:48:01
原创
810人浏览过
CodeIgniter通过配置database.php文件设置数据库连接,加载数据库类后可使用原生查询或查询构造器进行增删改查操作,推荐将逻辑封装到模型中以实现解耦,关键在于正确配置参数并熟练运用链式调用语法。

codeigniter数据库怎么操作_codeigniter数据库操作方法与实例

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. 插入数据

动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版
动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版

动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包

动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版 508
查看详情 动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版
$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();
    }
<pre class='brush:php;toolbar:false;'>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 是否正确。

以上就是CodeIgniter数据库怎么操作_CodeIgniter数据库操作方法与实例的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号