CodeIgniter框架操作数据库教程
5星 · 超过95%的资源 需积分: 9 193 浏览量
更新于2024-09-13
收藏 1KB TXT 举报
"CI框架是CodeIgniter的简称,它是一个基于PHP的轻量级Web应用框架,用于简化Web开发过程。本资源主要讲解如何在CI框架中读取数据库中的数据,通过配置文件、模型和控制器实现数据的获取与展示。"
在CI框架中,读取数据库的数据涉及到几个关键步骤:
1. 配置数据库连接:首先,需要在`application/config/database.php`文件中设置数据库的相关参数,包括数据库类型、主机名、用户名、密码以及数据库名称等。例如:
```php
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'your_username',
'password' => 'your_password',
'database' => 'your_database_name',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE,
);
```
这里配置了数据库连接的详细信息,使得CI框架能够连接到指定的数据库。
2. 创建模型:接下来,我们创建一个名为`M_user`的模型文件,位于`application/models/m_user.php`。模型是业务逻辑层,负责处理与数据库的交互。例如:
```php
class M_user extends CI_Model {
function __construct() {
parent::__construct();
}
function get_user_list() {
$query = $this->db->query("select * from users");
return $query->result();
}
}
```
在这个例子中,`M_user`类继承自CI的`CI_Model`基类,`get_user_list`方法用于执行SQL查询(获取`users`表的所有记录)并返回查询结果。
3. 加载模型和数据库:然后,在`application/controllers/user.php`的控制器中,我们需要加载数据库库和`M_user`模型,以便在控制器中使用模型的方法。例如:
```php
class User extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->database(); // 加载数据库库
}
function user_info() {
$this->load->model("M_user"); // 加载M_user模型
$data['users'] = $this->M_user->get_user_list(); // 通过模型获取数据
$this->load->view("user", $data); // 将数据传递给视图进行渲染
}
}
```
控制器`User`的`user_info`方法加载了`M_user`模型,并调用了`get_user_list`方法获取用户列表,将数据存储在数组`$data`中,最后通过`load->view`加载视图文件`user.php`,并将数据传递给视图。
4. 视图显示数据:最后,在`application/views/user.php`视图文件中,我们可以遍历并显示在控制器中获取的数据。例如:
```php
<?php
foreach ($users as $user) {
var_dump($user);
}
?>
```
视图文件通常包含HTML结构,这里使用`foreach`循环遍历数组`$users`,使用`var_dump`函数显示每个用户对象的详细信息。
通过以上步骤,CI框架成功地从数据库中读取数据,并在前端页面上进行了展示。这种方式实现了MVC(模型-视图-控制器)架构,使得代码结构清晰,易于维护。
2018-10-20 上传
2020-10-25 上传
2020-12-19 上传
2018-04-19 上传
2015-08-07 上传
2022-06-05 上传
2020-12-18 上传
s277074402
- 粉丝: 0
- 资源: 6
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载