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 相关文章推荐
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
PHP 事务处理数据实现代码
May 13 PHP
PHP header函数分析详解
Aug 06 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
PHP中计算字符串相似度的函数代码
Dec 29 PHP
合格的PHP程序员必备技能
Nov 13 PHP
yii,CI,yaf框架+smarty模板使用方法
Dec 29 PHP
PHP接收App端发送文件流的方法
Sep 23 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
Laravel学习教程之request validation的编写
Oct 25 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
Mar 15 PHP
PHP+ajax实现二级联动菜单功能示例
Aug 10 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极大的增强功能和性能
2006/10/09 PHP
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
php打印输出棋盘的实现方法
2014/12/23 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
详解Angular如何正确的操作DOM
2018/07/06 Javascript
深入理解Vue keep-alive及实践总结
2019/08/21 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
2020/12/10 Vue.js
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
python字符串格式化方式解析
2019/10/19 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
路政管理专业个人自荐信范文
2013/11/30 职场文书
环保志愿者活动总结
2014/06/27 职场文书
商铺租房协议书范本
2014/12/04 职场文书
医院科室评语
2015/01/04 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript