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基础知识:函数基础知识
Dec 13 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
Nov 10 PHP
php中get_headers函数的作用及用法的详细介绍
Apr 27 PHP
PHP+jquery实时显示网站在线人数的方法
Jan 04 PHP
php提交表单发送邮件的方法
Mar 20 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
May 27 PHP
windows8.1下Apache+Php+MySQL配置步骤
Oct 30 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 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插入排序法实现数组排序实例
2015/02/16 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
php限制文件下载速度的代码
2015/10/20 PHP
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
JavaScript实现商品评价五星好评
2020/11/30 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
用python实现批量重命名文件的代码
2012/05/25 Python
Python 代码性能优化技巧分享
2012/08/07 Python
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
小区门卫岗位职责范本
2014/08/24 职场文书
2014年督导工作总结
2014/11/19 职场文书
电影圆明园观后感
2015/06/03 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
Django使用channels + websocket打造在线聊天室
2021/05/20 Python
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS