CodeIgniter学习笔记二:CI中的query_builder(AR)、连贯操作
一、开启query_builder
在application\config\database.php中添加如下代码(默认已开启):
$query_builder = TRUE;
二、查询数据
//get
$res = $this -> db -> get('test');
$list = $res -> result();
var_dump($list);
/*
array (size=7)
0 =>
object(stdClass)[18]
public 'id' => string '1' (length=1)
public 'name' => string 'lu' (length=5)
public 'title' => string 'ci learn' (length=8)
1 =>
object(stdClass)[19]
public 'id' => string '2' (length=1)
public 'name' => string 'jim' (length=3)
public 'title' => string 'jim learn ci' (length=12)
*/
三、插入数据
//insert
$data = array(
'name' => 'mary',
'title' => 'mary learn ci'
);
$bool = $this -> db -> insert('test', $data);
if ($bool) {
//受影响行数
echo $this -> db -> affected_rows();
//自增id
echo $this -> db -> insert_id();
}
四、更新数据
//update
$data = array(
'name' => 'cilover',
'title' => 'cilover learn ci'
);
//第1个参数是表名,第2个是更新后的数据,第3个是条件
$bool = $this -> db -> update('test', $data, array('id' => 1));
if ($bool) {
//受影响行数
echo $this -> db -> affected_rows();
}
五、删除数据
//delete
$bool = $this -> db -> delete('test', array('id'=>4));
if ($bool) {
//受影响行数
echo $this -> db -> affected_rows();
}
六、连贯操作
//链式操作
$res = $this -> db -> select('id,name')
-> from('test')
-> where('id >=', 1)
-> limit(3, 2)//跳过2条取3条数据
-> order_by('id desc')
-> get();
var_dump($this -> db -> last_query());
//SELECT `id`, `name` FROM `ci_test` WHERE `id` >= 1 ORDER BY `id` desc LIMIT 2, 3 var_dump($res -> result());
/*
array (size=3)
0 =>
object(stdClass)[17]
public 'id' => string '12' (length=2)
public 'name' => string 'mary' (length=4)
1 =>
object(stdClass)[16]
public 'id' => string '11' (length=2)
public 'name' => string 'mary' (length=4)
2 =>
object(stdClass)[28]
public 'id' => string '10' (length=2)
public 'name' => string 'mary' (length=4)
*/
特别要注意limit是反的,where中的id与>=之前有空格。
七、where
//where
$this -> db -> where('name', 'jim') -> get('test');
echo $this -> db -> last_query();
//SELECT * FROM `ci_test` WHERE `name` = 'jim' $this -> db -> where('name !=', 'jim') -> get('test');
echo $this -> db -> last_query();
//SELECT * FROM `ci_test` WHERE `name` != 'jim' $this -> db -> where(array('name' => 'jim', 'id >' => 2)) -> get('test');
echo $this -> db -> last_query();
//SELECT * FROM `ci_test` WHERE `name` = 'jim' AND `id` > 2
更复杂的查询可以用query实现。
CodeIgniter学习笔记二:CI中的query_builder(AR)、连贯操作的更多相关文章
- jQuery学习笔记(二)jQuery中DOM操作
目录 DOM操作分类 jQuery中的各种DOM操作 查找节点 创建节点 删除节点 复制节点 替换节点 包裹节点 属性操作 样式操作 对HTML.文本和值的操作 遍历节点 CSS-DOM操作 小结 本 ...
- redis学习笔记(二)——java中jedis的简单使用
redis怎么在java中使用,那就是要用到jedis了,jedis是redis的java版本的客户端实现,原本原本想上来就直接学spring整合redis的,但是一口吃个胖子,还是脚踏实地,从基础开 ...
- 鸟书shell 学习笔记(二) shell中正則表達式相关
通配符与正則表達式的差别 通配符是bash原生支持的语法,正則表達式是处理字符串的一种表示方式, 正則表達式须要支持的工具支持才干够 语系设置 : export LANG=C grep alias 设 ...
- dubbo学习笔记(二)dubbo中的filter
转:https://www.cnblogs.com/cdfive2018/p/10219730.html dubbo框架提供了filter机制的扩展点(本文基于dubbo2.6.0版本). 扩展接口 ...
- python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...
- CodeIgniter学习笔记三:扩展CI的控制器、模型
一.扩展CI中的控制器 有时需要对CI中的控制器作统一操作,如进行登录和权限验证,这时就可以通过扩展CI控制器来实现. 扩展CI控制器只需要在application/core文件夹中建一个继承自CI_ ...
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- HTML DOM(学习笔记二)
嗯,在HTML DOM(学习笔记一)中简单描述了一下HTML DOM 是什么,这一篇将记录下来有关HTML DOM的内容! 1:DOM节点 首先,再来看一下HTML DOM的树状结构,如下图所示: 这 ...
随机推荐
- pat甲级1085
1085 Perfect Sequence (25 分) Given a sequence of positive integers and another positive integer p. T ...
- 关于安卓手机访问一些网站或者Fiori应用弹出安装证书的提示
有朋友问遇到在安卓手机上安装Fiori Client,打开的时候提示需要安装证书,如下图所示: 我在自己的Android手机试了试,因为我没有装Fiori Client,所以就用手机浏览器直接访问ht ...
- stixel-world代码解读
下边缘的求法应该是使用的第二篇论文的方法 上边缘的求法应该是使用的第一篇论文的方法 这是求上边缘的代码: std::vector<float> integralMembership(vma ...
- [转] JAVA中读取网络中的图片资源导入到EXCEL中
需求 导出人员的信息并且加上人员的照片至EXCEL中 完整的代码 //创建一个表格 HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...
- 第27章 LTDC/DMA2D—液晶显示—零死角玩转STM32-F429系列
第27章 LTDC/DMA2D—液晶显示 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...
- 第17章 EXTI—外部中断/事件控制器—零死角玩转STM32-F429系列
第17章 EXTI—外部中断/事件控制器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...
- 第10章 新建工程-库函数版—零死角玩转STM32-F429系列
第10章 新建工程—库函数版 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...
- Session和cookic
session是无状态的方式,服务器存储机制,当用户第一次请求服务器,服务器会给客户分配一个标识id,客户端再次访问服务器,根据session id 去访问服务器数据库,返回信息,同时session ...
- Linux平台下卸载MySQL的方法
转载自: https://www.cnblogs.com/taomylife/p/7234925.html Linux平台下卸载MySQL的方法: MySQL的安装主要有三种方式:二进制包安装.RPM ...
- Java中堆、栈,静态方法和非静态方法的速度问题
一.堆和栈的速度性能分析 堆和栈是JVM内存模型中的2个重要组成部分,自己很早以前也总结过堆和栈的区别,基本都是从存储内容,存储空间大小,存储速度这几个方面来理解的,但是关于堆和栈的存储 ...