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的栏目导航程序
Oct 09 PHP
ajax实现无刷新分页(php)
Jul 18 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
php 使用GD库为页面增加水印示例代码
Mar 24 PHP
Yii实现MySQL多数据库和读写分离实例分析
Dec 03 PHP
php 访问oracle 存储过程实例详解
Jan 08 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
phpStudy 2016 使用教程详解(支持PHP7)
Oct 18 PHP
PHP给前端返回一个JSON对象的实例讲解
May 31 PHP
深入浅析安装PhpStorm并激活的步骤详解
Sep 17 PHP
PHP tp5中使用原生sql查询代码实例
Oct 28 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
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
JavaScript For Beginners(转载)
2007/01/05 Javascript
IE8 浏览器Cookie的处理
2009/01/31 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
python中lambda与def用法对比实例分析
2015/04/30 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
python爬虫之线程池和进程池功能与用法详解
2018/08/02 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
DNA测试:Orig3n
2019/03/01 全球购物
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
JD Sports西班牙:英国领先的运动服装公司
2020/01/06 全球购物
优质的学校老师推荐信
2013/10/28 职场文书
20年同学聚会邀请函
2014/02/04 职场文书
2014国培学习感言
2014/03/05 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
《为人民服务》教学反思
2016/02/20 职场文书
高中政治教学反思
2016/02/23 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python