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文本转图片自动换行的方法
Mar 13 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
Jun 24 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
PHP遍历XML文档所有节点的方法
Mar 12 PHP
PHP获取一段文本显示点阵宽度和高度的方法
Mar 12 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 PHP
php实现的生成排列算法示例
Jul 25 PHP
php和html的区别点详细总结
Sep 24 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 PHP
Laravel 5+ .env环境配置文件详解
Apr 06 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 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中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
读jQuery之八 包装事件对象
2011/06/21 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
Javascript 是你的高阶函数(高级应用)
2015/06/15 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
JS中Safari浏览器中的Date
2017/07/17 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
es6数组的flat(),flatMap()函数用法实例分析
2020/04/18 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
舞蹈比赛获奖感言
2014/02/04 职场文书
诚实守信主题班会
2015/08/13 职场文书
微软PC Health Check电脑健康状况检查应用下载(Win11配置检测工具)
2021/06/26 数码科技
php实现自动生成验证码的实例讲解
2021/11/17 PHP