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 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
基于php冒泡排序算法的深入理解
Jun 09 PHP
基于PHP输出缓存(output_buffering)的深入理解
Jun 13 PHP
一个PHP针对数字的加密解密类
Mar 20 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
php中对象引用和复制实例分析
Aug 14 PHP
Laravel 自动生成验证的实例讲解:login / logout
Oct 14 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文件操作的详解
2013/06/05 PHP
php中如何同时使用session和cookie来保存用户登录信息
2013/07/05 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
JS应用之禁止抓屏、复制、打印
2008/02/21 Javascript
javascript 写类方式之七
2009/07/05 Javascript
Prototype Class对象学习
2009/07/19 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
你应该知道的python列表去重方法
2017/01/17 Python
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
python3+dlib实现人脸识别和情绪分析
2018/04/21 Python
python 删除非空文件夹的实例
2018/04/26 Python
想学python 这5本书籍你必看!
2018/12/11 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
英国计算机商店:Technextday
2019/12/28 全球购物
存储过程和函数的区别
2013/05/28 面试题
争做文明公民倡议书
2014/08/29 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
2014年团总支工作总结
2014/11/21 职场文书
岗位聘任报告
2015/03/02 职场文书