查询辅助函数
$this->db->insert_id()
这个ID号是执行数据插入时的ID。
$this->db->affected_rows()
当执行写入操作(insert,update等)的查询后,显示被影响的行数。
$this->db->count_all();
计算出指定表的总行数并返回。在第一个参数中写入被提交的表名。
生成查询记录集
result()
该方法执行成功返回一个object 数组,失败则返回一个空数组。
result_array()
该方法执行成功时将记录集作为关联数组返回。失败时返回空数组。
row()
该函数将当前请求的第一行数据作为 object 返回。
你可以传递参数(参数是行的索引)以便获得某一行的数据。比如我们要获得第 5 行的数据: $row = $query->row(4);
row_array()
功能与 row() 一样, 区别在于该函数返回的是一个数组。
除此以外, 我们还可以使用下面的方法通过游标的方式获取记录:
$row = $query->first_row()
$row = $query->last_row()
$row = $query->next_row()
$row = $query->previous_row()
默认情况下他们将返回一个 object,同时你也可以传递参数 "array" 以便使用 array 的方式获取数据 $row = $query->first_row(''array'')
$row = $query->last_row(''array'')
$row = $query->next_row(''array'')
$row = $query->previous_row(''array'')
结果集辅助函数
$query->num_rows()
该函数将会返回当前请求的行数。
$query->num_fields()
该函数返回当前请求的字段数(列数):
$query->free_result()
该函数将会释放当前查询所占用的内存并删除其关联的资源标识。
自动连接
“自动连接” 功能将在每个一页面加载时被自动实例化数据库类。要启用“自动连接”,可在application/config/autoload.php中的 library 数组里添加 database:
$autoload[''libraries''] = array(''database'');
手动连接
如果仅仅是一部分页面要求数据库连接,你可以在你有需要的函数里手工添加如下代码或者在你的类里手工添加以供该类使用。
$this->load->database();
连接多数据库
如果你需要同时连接多于一个的数据库,你可以用以下方式来实现:
$DB1 = $this->load->database(''group_one'', TRUE);
$DB2 = $this->load->database(''group_two'', TRUE);
表数据
$this->db->list_tables();
返回一个包含当前连接数据库中所有表名称的数组。
$this->db->table_exists();
有时,在对某个表执行操作之前,使用该函数判断指定表是否存在很有用。返回一个布尔值。
数据库工具类
重要提示: 初始化数据库工具类之前,你的数据库驱动必须已经运行,因为工具类依赖于此。
加载工具类: $this->load->dbutil()
一旦初始化完毕,你可以通过 $this->dbutil 对象来访问成员函数:
$this->dbutil->list_databases()
$this->dbutil->database_exists();
$this->dbutil->xml_from_result($db_result)
$this->dbutil->backup()
数据库缓存类
激活缓存需要三步:
1、在服务器上创建一个可写的目录以便保存缓存文件。
2、在文件 application/config/database.php 中$db[''xxxx''][''cachedir'']设置其目录。
3、激活缓存特性,可以在文件 application/config/database.php 中设置全局选项$db[''xxxx''][''cache_on'']=''TRUE'',也可以用以本页下面的方法手动设置。
一旦被激活,每一次含有数据库查询的页面被加载时缓存就会自动发生。
当有数据库更新,我们需要删除缓存文件
$this->db->cache_delete()
删除缓存文件与特定网页。如果你需要清除缓存后,更新您的数据库
$this->db->cache_delete(''/blog'', ''comments'');