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 和 MySQL 基础教程(四)
Oct 09 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
MySql中正则表达式的使用方法描述
Jul 30 PHP
PHP 柱状图实现代码
Dec 04 PHP
php开启openssl的方法
May 15 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
PHP获取一个字符串中间一部分字符的方法
Aug 19 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
Mar 30 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
基于swoole实现多人聊天室
Jun 14 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 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
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
javascript深入理解js闭包
2010/07/03 Javascript
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
PHP abstract与interface之间的区别
2013/11/11 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
老生常谈js-react组件生命周期
2017/05/02 Javascript
layui 给数据表格加序号的方法
2018/08/20 Javascript
JavaScript数组方法的错误使用例子
2018/09/13 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
详解微信小程序开发之formId使用(模板消息)
2019/08/27 Javascript
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
关于Python作用域自学总结
2019/06/10 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
Python能做什么
2020/06/02 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
什么是makefile? 如何编写makefile?
2013/01/02 面试题
Final类有什么特点
2012/04/25 面试题
新疆民族团结演讲稿
2014/08/27 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
法制教育主题班会
2015/08/13 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android