CodeIgniter自带的数据库类使用介绍
为什么80%的码农都做不了架构师?>>>
在 CodeIgniter 中,使用数据库是非常频繁的事情。你可以使用框架自带的数据库类,就能便捷地进行数据库操作。
初始化数据库类
依据你的数据库配置载入并初始化数据库类:
$this
->load->database();
被载入之后你可以在任何地方使用它。
以对象形式返回查询结果
$query = $this->db->query('SELECT name, title, email FROM my_table');foreach ($query->result() as $row)
{echo $row->title;echo $row->name;echo $row->email;
}echo 'Total Results: ' . $query->num_rows();
上面的result()函数返回一个对象的数组。例如:$row->title
以数组形式返回查询结果
$query = $this->db->query('SELECT name, title, email FROM my_table');foreach ($query->result_array() as $row)
{echo $row['title'];echo $row['name'];echo $row['email'];
}
上面的result_array()函数返回一个带下标的数组。例如:$row['title']
返回一条数据
对象形式:
$query = $this->db->query('SELECT name FROM my_table LIMIT 1');$row = $query->row();
echo $row->name;
上面的row()函数返回一个 对象。例如:$row->name
数组形式:
$query = $this->db->query('SELECT name FROM my_table LIMIT 1');$row = $query->row_array();
echo $row['name'];
上面的row_array()函数返回一个 数组。例如:$row['name']
插入(insert)数据
$sql = "INSERT INTO mytable (title, name) VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";$this->db->query($sql);echo $this->db->affected_rows();
快捷插入方式:
$data = array('title' => $title,'name' => $name,'date' => $date);$this->db->insert('mytable', $data); // Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')
数据库配置
CodeIgniter 有一个配置文件让你存放数据库连接值(username:用户名,password:密码,database name:数据库名,等等..). 配置文件位于以下路径:application/config/database.php
配件文件存放在一个如下格式的一个多维数组里:
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "database_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
那么,告诉系统使用"test"组,你可以设置位于配置文件中的变量:
$active_group
=
"test"
;
注意: "test"的名字是任意的,这可以让你自由设置,我们的主要连接默认使用"default"这个名字,当然,您可以基于您的项目为它起一个更有意义的名字。
Active Record
Active Record 类 可以通过数据库配置文件里的$active_record变量进行全局的设定(允许/禁止 TRUE/FALSE (boolean)). 如果你不用这个类,哪么你可以通过将这个变量值设置成FALSE来减少在数据库类初始化时对电脑资源的消耗。 $active_record = TRUE;
注意: 一些CodeIgniter的类,例如Sessions,在执行一些函数的时候需要Active Records的支持。
参数解析:
- hostname - 数据库的主机名,通常位于本机,可以表示为 "localhost".
- username - 需要连接到数据库的用户名.
- password - 登陆数据库的密码.
- database - 你需要连接的数据库名.
- dbdriver - 数据库类型。如:mysql、postgres、odbc 等。必须为小写字母。
- dbprefix - 当运行Active Record查询时数据表的前缀,它允许在一个数据库上安装多个CodeIgniter程序.
- pconnect - TRUE/FALSE (boolean) - 使用持续连接.
- db_debug - TRUE/FALSE (boolean) - 显示数据库错误信息.
- cache_on - TRUE/FALSE (boolean) - 数据库查询缓存是否开启,详情请见数据库缓存类。
- cachedir - 数据库查询缓存目录所在的服务器绝对路径。
- char_set - 与数据库通信时所使用的字符集。
- dbcollat - 与数据库通信时所使用的字符规则(character collation )。
- port - 数据库端口号. 当前只用于 Postgres 驱动程序. 要使用这个值,你应该添加一行代码到数据库配置数组。
记录一下,方便查阅。
转载于:https://my.oschina.net/sunYwp/blog/791948
CodeIgniter自带的数据库类使用介绍相关推荐
- 12 带音视频、多媒体、2D3D显示加速的嵌入式类芯片介绍
带音视频.多媒体.2D3D显示加速的嵌入式类芯片介绍 作者 将狼才鲸 创建日期 2022-04-11 带硬件音视频编解码模块的芯片有两类: 一是不包含GPU(支持OpenGL ES.Open VG等协 ...
- 手把手使用Android自带SQLite数据库(1)—— 建立核心文件
SQLite是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.详细介绍参见https://www.runoob.com/sqlite/sqlite-intro.htm ...
- GaussDB数据库基础函数介绍-上
目录 一.函数在数据库中的作用 二.GaussDB常用基础函数介绍与示例 1.数字操作函数 2.时间和日期处理函数 3.类型转换函数 4.数组函数 5.范围函数 6.窗口函数 7.聚集函数 8.安全函 ...
- ResultSetMetaData类的介绍
ResultSetMetaData类的介绍 利用ResultSet的getMetaData的方法可以获得ResultSetMeta对象,而ResultSetMetaData存储了 ResultSet的 ...
- Hummer TimeSeries DB (蜂鸟时序数据库)技术介绍
转载自:http://blog.csdn.net/kanghua/article/details/44650831 Hummer TimeSeries DB (蜂鸟时序数据库)技术介绍 1. 背景介绍 ...
- 一个好用的ODBC数据库类CMYODBC
一个好用的ODBC数据库类CMYODBC 一.引言 感觉MFC的CRecordset类不是很好用,因为我们要想使用的话必须为每个查询从CRecordset类派生出一个新类,或者进行动态数据交换.在VC ...
- Dedesql数据库类详解(二次开发必备教程)(转)
http://www.dedecms.com/help/development/2009/1028/1076.html 织梦DedeCMS的二次开发不仅仅是会写写织梦的标签,会制作织梦的模板.很多时候 ...
- MySQL系统自带的数据库information schema
转自:https://www.cnblogs.com/shengdimaya/p/6920677.html#commentform information_schema数据库是MySQL系统自带的数据 ...
- mysql系统自带示例数据库_MySQL系统自带的数据库information schema
information_schema数据库是MySQL系统自带的数据库,它提供了数据库元数据的访问方式.感觉information_schema就像是MySQL实例的一个百科全书,记录了数据库当中大部 ...
最新文章
- 知乎宣布完成4.34亿美元F轮融资,快手领投,融资额刷新此前记录
- windows 下实现函数打桩:拦截API方式
- python做后端速度慢吗_【后端开发】python为什么慢?
- [转]GridView 72般绝技
- 解决$router.go(-1)返回上一层页面不刷新页面问题
- java exception用法_Java基础回顾_Exception异常使用详解
- 宠物也能买保险了!鼻纹识别就能建立专属电子档案
- 自学python书籍怎么选-自学Python可以选择哪些入门书籍?
- python 中 chardet 的使用
- 霍尼韦尔扫描枪设置手动方法
- 两台计算机互联方案,如何连接两台电脑
- linux系统下使用润乾报表设计器
- ucenter安装指南及问题解决
- vivo手机计算机怎么开语音,vivo怎么打开语音助手
- 黄天不负有心人,拥有属于自己的LOGO
- compiz的ubuntu10.04安装
- docker学习至docker-compose
- VS2015+QT运行C# dll,出现“错误C2182 “t”: 非法使用“void”类型”的解决方案
- 12月第3周网络安全报告:发现放马站点域名131个
- 计算机系新年寄语,经典新年寄语(精选50句)