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之第三天
Oct 09 PHP
php GD绘制24小时柱状图
Jun 28 PHP
一个PHP的String类代码
Apr 20 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Jun 19 PHP
PHP实现图片裁剪、添加水印效果代码
Oct 01 PHP
php查询mssql出现乱码的解决方法
Dec 29 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
php实现微信公众平台账号自定义菜单类
Oct 11 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
thinkphp5实现微信扫码支付
Dec 23 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
实现获取http内容的php函数分享
2014/02/16 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
2010/12/30 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
AngularJS发送异步Get/Post请求方法
2018/08/13 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
jQuery实现日历效果
2020/09/11 jQuery
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
python实现在字符串中查找子字符串的方法
2015/07/11 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
Python迭代和迭代器详解
2016/11/10 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
python多线程与多进程及其区别详解
2019/08/08 Python
python 读取二进制 显示图片案例
2020/04/24 Python
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
新年寄语大全
2014/04/12 职场文书
激励口号大全
2014/06/17 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
本溪水洞导游词
2015/02/11 职场文书
预备党员考察意见范文
2015/06/01 职场文书
导游词之任弼时故居
2020/01/07 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript