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 相关文章推荐
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
php自动加载机制的深入分析
Jun 08 PHP
php 常用算法和时间复杂度
Jul 01 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
Jun 30 PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
Nov 05 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
Apr 04 PHP
Yii框架分页技术实例分析
Aug 30 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 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
php日历[测试通过]
2008/03/27 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
一个支持任意尺寸的图片上下左右滑动效果
2014/08/24 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
JS动态显示表格上下frame的方法
2015/03/31 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
[34:08]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS EG
2018/03/30 DOTA
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
Python编程之多态用法实例详解
2015/05/19 Python
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
python调用接口的4种方式代码实例
2019/11/19 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
Pycharm修改python路径过程图解
2020/05/22 Python
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
理工大学毕业生自荐信范文
2014/02/22 职场文书
网站美工岗位职责
2014/04/02 职场文书
学生会招新宣传语
2015/07/13 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书