一、开启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)、连贯操作的更多相关文章

  1. jQuery学习笔记(二)jQuery中DOM操作

    目录 DOM操作分类 jQuery中的各种DOM操作 查找节点 创建节点 删除节点 复制节点 替换节点 包裹节点 属性操作 样式操作 对HTML.文本和值的操作 遍历节点 CSS-DOM操作 小结 本 ...

  2. redis学习笔记(二)——java中jedis的简单使用

    redis怎么在java中使用,那就是要用到jedis了,jedis是redis的java版本的客户端实现,原本原本想上来就直接学spring整合redis的,但是一口吃个胖子,还是脚踏实地,从基础开 ...

  3. 鸟书shell 学习笔记(二) shell中正則表達式相关

    通配符与正則表達式的差别 通配符是bash原生支持的语法,正則表達式是处理字符串的一种表示方式, 正則表達式须要支持的工具支持才干够 语系设置 : export LANG=C grep alias 设 ...

  4. dubbo学习笔记(二)dubbo中的filter

    转:https://www.cnblogs.com/cdfive2018/p/10219730.html dubbo框架提供了filter机制的扩展点(本文基于dubbo2.6.0版本). 扩展接口 ...

  5. python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字

    python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...

  6. CodeIgniter学习笔记三:扩展CI的控制器、模型

    一.扩展CI中的控制器 有时需要对CI中的控制器作统一操作,如进行登录和权限验证,这时就可以通过扩展CI控制器来实现. 扩展CI控制器只需要在application/core文件夹中建一个继承自CI_ ...

  7. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

  8. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  9. HTML DOM(学习笔记二)

    嗯,在HTML DOM(学习笔记一)中简单描述了一下HTML DOM 是什么,这一篇将记录下来有关HTML DOM的内容! 1:DOM节点 首先,再来看一下HTML DOM的树状结构,如下图所示: 这 ...

随机推荐

  1. Oracle编程入门经典 第12章 事务处理和并发控制

    目录 12.1          什么是事务处理... 1 12.2          事务处理控制语句... 1 12.2.1       COMMIT处理... 2 12.2.2       RO ...

  2. reactjs--父组件调用子组件的内部方法(转载)

    reactjs--父组件调用子组件的内部方法 发表于2016/10/11 9:21:37  965人阅读 1.引入相关js <script src="js/react.js" ...

  3. @RequiresPermissionss是否可以填写多种权限标识,只要满足其一就可以访问?

    @RequiresPermissionss是否可以填写多种权限标识,只要满足其一就可以访问?  发布于 180天前  作者 qq_b02c4863  144 次浏览  复制  上一个帖子  下一个帖子 ...

  4. Poj(1703),种类并查集

    题目链接:http://poj.org/problem?id=1703 已经不是第一次接触种类并查集了,直到今天才搞懂. 感谢红黑联盟,感谢杰哥!!! 每个节点只要关系确定,不管是不是同一个集合里面, ...

  5. 我对XCode Objective

    我对XCode Objective-c Cocoa的简单理解 Xcode Xcode说的通俗一点就是开发OS X 和 iOS 应用程序的. 如果我们想要认真点说 ,Xcode 是运行在操作系统Mac ...

  6. selenium+chrome下载文件,格式怎么选择???

    学习了下载 if browser == "Chrome": options=webdriver.ChromeOptions() prefs={'profile.default_co ...

  7. Spring boot 实现高吞吐量异步处理(适用于高并发场景)

    技术要点 org.springframework.web.context.request.async.DeferredResult<T> 示例如下: 1.   新建Maven项目  asy ...

  8. cudaMalloc和cudaMallocPitch

    原文链接 偶有兴趣测试了一下题目中提到的这两个函数,为了满足对齐访问数据,咱们平时可能会用到cudamallocPitch,以为它会带来更高的效率.呵呵,这里给出一段测试程序,大家可以在自己的机器上跑 ...

  9. 手动安装Apache+PHP+MYSQL及环境配置

    先准备好软件: Apache官方下载地址:apache_2.0.55-win32-x86-no_ssl.msi,更多版本在这里: php官方下载地址:php-5.0.5-Win32.zip,更多镜像下 ...

  10. 第45章 DCMI—OV2640摄像头—零死角玩转STM32-F429系列

    第45章     DCMI—OV2640摄像头 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com ...