CodeIgniter框架下数据库操作指南
"CI框架数据库操作指南" 在CI(CodeIgniter)框架中,数据库操作是非常常见且重要的任务。本文档将详细介绍如何在CI中进行数据库交互,包括连接数据库、执行查询、条件筛选以及关联查询等基本操作。 首先,要使用CI操作数据库,需要加载数据库库。这可以通过以下代码实现: ```php $this->load->database(); ``` 这段代码会自动配置并连接到CI配置文件中定义的默认数据库。如果需要在不同场景下连接不同的数据库,可以传递参数以指定特定的数据库连接设置。 查询数据是数据库操作的核心。获取表中的所有数据可以这样写: ```php $query = $this->db->get('sites'); ``` 这里`$this->db->get('sites')`会执行一个SQL的`SELECT * FROM sites`查询,返回的结果存储在`$query`变量中。 如果你想指定查询的字段,可以使用`select()`方法: ```php $this->db->select('url, name, clientid'); $query = $this->db->get('sites'); ``` 对于排序,可以使用`orderby()`方法: ```php $this->db->select('url, name, clientid'); $this->db->orderby('name', 'desc'); $query = $this->db->get('sites'); ``` 这将按照`name`字段降序排列结果。 限制查询结果的数量,可以使用`limit()`方法: ```php $this->db->select('url, name, clientid'); $this->db->orderby('name', 'desc'); $this->db->limit(5); $query = $this->db->get('sites'); ``` 这将返回前5条数据。 在CI中,条件筛选非常灵活。例如,你可以使用`where()`方法来添加`WHERE`子句: ```php $this->db->where('clientid', '1'); ``` 对于不等于、大于等复杂条件,也可以轻松处理: ```php $this->db->where('url !=', 'www.mysite.com'); $this->db->where('id >', '3'); ``` 如果需要同时满足多个条件,可以组合使用`where()`: ```php $this->db->where('url !=', 'www.mysite.com'); $this->db->where('id >', '3'); ``` 或者使用`orwhere()`添加`OR`条件: ```php $this->db->where('url !=', 'www.mysite.com'); $this->db->orwhere('url !=', 'www.anothersite.com'); ``` 最后,CI支持数据库表之间的关联查询。通过`join()`方法可以实现这个功能: ```php $this->db->from('sites'); $this->db->join('people', 'sites.peopleid = people.id'); ``` 这将执行一个JOIN操作,连接`sites`表和`people`表,基于`sites`表的`peopleid`字段与`people`表的`id`字段相等。 以上就是CI框架中操作数据库的基本步骤和常用方法。通过这些API,你可以灵活地构建复杂的SQL查询,以满足项目中的各种需求。在实际开发中,还可以结合其他CI提供的数据库辅助函数,如`like()`、`group_by()`、`having()`等,进一步增强查询能力。
$this->load->database();
就不需要重复连接, 在那个控制器或模型就可以做任意多次的查询。
查询操作(等同select)
方法一:
$query = $this->db->get('sites'); //sites为表名
这是一个“select *”查询,目标是site表。换句话说,它取回所有的行
也可用下面这种方式写:
$this->db->from('sites');
$query = $this->db->get();
如果想要得到特定的列,而不是全部列,这样做:
$this->db->select('url','name','clientid');//'url','name','clientid'为列名
$query = $this->db->get('sites');
如果排序:
$this->db->select('url','name','clientid');//'url','name','clientid'为列名
$this->db->orderby("name", "desc");
$query = $this->db->get('sites');
如果想要限制返回的行数,比如想要最初五个结果
$this->db->select('url','name','clientid');//'url','name','clientid'为列名
$this->db->orderby("name", "desc");
$this->db->limit(5);
$query = $this->db->get('sites');
写where语句
==的情况
$this->db->where('clientid', '1'); //clientid属性 "1"为属性值
!=的情况
$this->db->where('url !=', 'www.mysite.com');
$this->db->where('id >', '3');
下载后可阅读完整内容,剩余3页未读,立即下载
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦