Codeigniter操作数据库表的优化写法总结


Posted in PHP onJune 12, 2014

用codeigniter也有一段时间了,一直没有做什么总结。现在总结一些Codeigniter操作数据库表的优化写法,虽说不全,但是也确实可以帮助那些刚刚上手CI的同学。

链接数据库

$this->load->database();//手动连接数据库
//连接多数据库
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);

查询

//参数绑定形式
$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?"; 
$this->db->query($sql, array(3, 'live', 'Rick'));//多结果标准查询
$query = $this->db->query($sql); //自定义
$query = $this->db->get('tablename'); //便捷形式,相当于:SELECT * FROM tablename
$query = $this->db->get('tablename', 10, 20); // 相当于: SELECT * FROM tablename LIMIT 20, 10
$query->result() //对象形式
$query->result_array() //数组形式
/*
foreach ($query->result() as $row)
{
    echo $row->title;
    echo $row->name;
    echo $row->email;
}
*/
$query->num_rows() //总条数
$query->num_fields() //字段数
//单结果标准查询
$row = $query->row(); //对象形式
$row = $query->row_array(); //数组形式
/*
$row = $query->row_array();
echo $row['name'];
*/

 

插入

$data = array(
                'title' => $title,
                'name' => $name
                );
$this->db->insert('tablename', $data); //便捷插入
$this->db->insert_string('tablename', $data);  //便捷插入$this->db->insert_id() //刚插入的id
$this->db->affected_rows() //影响的行数(update,insert)

更新

$data = array(
                'name' => $name, 
                'email' => $email
                );
$where = "id = 1"; 
$this->db->update('tablename', $data); 
$this->db->update_string('tablename', $data, $where);

删除

$array = array(
                'name' => $name, 
                'title' => $title
                );
$this->db->delete('tablename', $array); // Produces:
// "DELETE FROM tablename WHERE name = '$name' AND title = "$title""
$this->db->truncate('tablename'); //清空表
// Produce: TRUNCATE tablename
 
-----------------------------------------------------
(where)
-------
$array = array(
                'name' => $name, 
                'title' => $title
                );
$this->db->where($array); 
// Produces: "WHERE name = '$name' AND title = "$title"" 
-----------------------------------------------------
$this->db->count_all('tablename'); //表中记录总行数
-----------------------------------------------------
$query->free_result() //释放资源
PHP 相关文章推荐
PHP+DBM的同学录程序(3)
Oct 09 PHP
php URL验证正则表达式
Jul 19 PHP
PHP 字符串长度判断效率更高的方法
Mar 02 PHP
async和DOM Script文件加载比较
Jul 20 PHP
php强制更新图片缓存的方法
Feb 11 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
PHP递归实现层级树状展开
Apr 01 PHP
PHP数组生成XML格式数据的封装类实例
Nov 10 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
thinkPHP框架RBAC实现原理分析
Feb 01 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 PHP
codeigniter数据库操作函数汇总
Jun 12 #PHP
使用PHP函数scandir排除特定目录
Jun 12 #PHP
使用配置类定义Codeigniter全局变量
Jun 12 #PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 #PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
Jun 12 #PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
Jun 12 #PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 #PHP
You might like
ThinkPHP CURD方法之order方法详解
2014/06/18 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
Javascript使用SWFUpload进行多文件上传
2016/11/16 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
2018/07/24 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
python 网络编程常用代码段
2016/08/28 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
德国自行车商店:Tretwerk
2019/06/21 全球购物
软件测试工程师结构化面试题库
2016/11/23 面试题
集团公司总经理岗位职责
2013/12/20 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
绿色校园广播稿
2014/10/13 职场文书
安全守法证明
2015/06/23 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
学习杨善洲同志先进事迹心得体会
2016/01/23 职场文书
导游经典开场白——导游词
2019/04/17 职场文书
python 安全地删除列表元素的方法
2022/03/16 Python
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
2022/08/05 Servers