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基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
PHP编码规范的深入探讨
Jun 06 PHP
PHP图片自动裁切应付不同尺寸的显示
Oct 16 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
为百度UE编辑器上传图片添加水印功能
Apr 16 PHP
Codeigniter的dom类用法实例
Jun 26 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
PHP利用DWZ.CN服务生成短网址
Aug 11 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
PHP Ajax跨域问题解决方案代码实例
Aug 01 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中使用Select 查询语句的实例
2014/02/19 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
基于PHP实现用户注册登录功能
2016/10/14 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
PHP验证码类ValidateCode解析
2017/01/07 PHP
JS 对象介绍
2010/01/20 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
2017/02/23 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
5 种JavaScript编码规范
2018/01/30 Javascript
JS中Map和ForEach的区别
2018/02/05 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
python numpy中cumsum的用法详解
2019/10/17 Python
python框架flask表单实现详解
2019/11/04 Python
wxpython绘制圆角窗体
2019/11/18 Python
Python中的With语句的使用及原理
2020/07/29 Python
python获取百度热榜链接的实例方法
2020/08/25 Python
python实现移动木板小游戏
2020/10/09 Python
英国工具中心:UK Tool Centre
2017/07/10 全球购物
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
优质的学校老师推荐信
2013/10/28 职场文书
创业计划书如何编写
2014/02/06 职场文书
质检员岗位职责
2015/02/03 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电