CI生成查询记录集result(),row(),row_array().....
result()
该方法执行成功返回一个对象数组,失败则返回一个空数组。 一般情况下,我们使用下面的方法遍历结果,代码就像这样:
$query = $this->db->query("要执行的 SQL");
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
本函数的别名是 result_object()。
如果当前所执行的 SQL 可能不会返回记录集,我们可以使用如下方法进行判断:
$query = $this->db->query("要执行的 SQL");
if ($query->num_rows() > 0)
{
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
}
你可以传递一个字符串给result()函数,该字符串代表着某个类为每一个result对象进行实例化 (注意:该类必须已经被加载)。
$query = $this->db->query("SELECT * FROM users;");
foreach ($query->result('User') as $row)
{
echo $row->name; // call attributes
echo $row->reverse_name(); // or methods defined on the 'User' class
}
result_array()
该方法执行成功时将记录集作为关联数组返回。失败时返回空数组。一般情况下,我们使用下面的方法遍历结果,代码就像这样:
$query = $this->db->query("要执行的 SQL");
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
row()
该函数将当前请求的第一行数据作为 object 返回。这里是示例代码:
$query = $this->db->query("要执行的 SQL");
if ($query->num_rows() > 0)
{
$row = $query->row();
echo $row->title;
echo $row->name;
echo $row->body;
}
你可以传递参数(参数是行的索引)以便获得某一行的数据。比如我们要获得第 5 行的数据:
$row = $query->row(4);
如果传入的参数超出行索引,则返回第一行(索引为0)数据
你也可以添加一个字符串参数,它是一个类在row()函数下实例化的名字:
$query = $this->db->query("SELECT * FROM users LIMIT 1;");
$query->row(0, 'User')
echo $row->name; // call attributes
echo $row->reverse_name(); // or methods defined on the 'User' class
row_array()
功能与 row() 一样, 区别在于该函数返回的是一个数组:
$query = $this->db->query("要执行的 SQL");
if ($query->num_rows() > 0)
{
$row = $query->row_array();
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
你可以传递参数(参数是行的索引)以便获得某一行的数据。比如我们要获得第 5 行的数据:
$row = $query->row_array(4);
如果传入的参数超出行索引,则返回第一行(索引为0)数据
除此以外, 我们还可以使用下面的方法通过游标的方式获取记录:
$row = $query->first_row()
$row = $query->last_row()
$row = $query->next_row()
$row = $query->previous_row()
默认情况下他们将返回一个 object,同时你也可以传递参数 "array" 以便使用 array 的方式获取数据
$row = $query->first_row('array')
$row = $query->last_row('array')
$row = $query->next_row('array')
$row = $query->previous_row('array')
结果集辅助函数
$query->num_rows()
该函数将会返回当前请求的行数。在本例子中, $query 表示当前 SQL 所产生的请求结果对象:
$query = $this->db->query('SELECT * FROM my_table');
echo $query->num_rows();
$query->num_fields()
该函数返回当前请求的字段数(列数):
$query = $this->db->query('SELECT * FROM my_table');
echo $query->num_fields();
$query->free_result()
该函数将会释放当前查询所占用的内存并删除其关联的资源标识。通常来说,PHP 将会脚本执行结束后自动释放内存。如果当前执行的请求将要花很长时间并且占用比较大的资源时,该函数可以在一定程度上降低资源的消耗:
$query = $this->db->query('SELECT title FROM my_table');
foreach ($query->result() as $row)
{
echo $row->title;
}
$query->free_result(); // $query 将不再可用
$query2 = $this->db->query('SELECT name FROM some_table');
$row = $query2->row();
echo $row->name;
$query2->free_result(); // $query2 将不再可用
转载于:https://www.cnblogs.com/lpshan/p/4527569.html
CI生成查询记录集result(),row(),row_array().....相关推荐
- VBA SQL查询-记录集转数组
目录 1 建立连接和查询 2. Recordset 对象(记录集)转数组 1 建立连接和查询 Sub 查询()Dim Cnn As Object, Rst As Object, i&, j&a ...
- 数据库查询记录集转化为树状结构,数组转树状结构
直接上代码: //数组转化成树状 function array2tree($data){$obj = array();if (is_array($data)){foreach($data as $ke ...
- 关于flask入门教程-记录集转jsonify
Flask 框架里,可以用 jsonify 返回 json 数据,但是为什么不用 Python 自带的 json 模块返回 JSON 数据呢? 其实两者是差不多的,jsonify指明了Content- ...
- TP5将查询结果集进行排序 记录一下
需求:需要查询 account 表中每个账户在 report_date 表中对应关联的其中一个月的 字段 order_num 与 bi_ci_fee 之和的记录 (一条链表查询语句即可成功,由于出了一 ...
- 记录集 执行mysql_mysql 多次查询后再执行记录集
mysql 多次查询后再执行记录集 关注:234 答案:2 mip版 解决时间 2021-01-17 06:32 提问者酒瘾渼亽兒 2021-01-16 12:11 一.概况 一个项目需要远程连接 ...
- shell获取hive查询数据结果_在shell中判断hive查询记录数大小
用途: 根据查询到结果数量来判断,是否需要再执行下个脚本. 1. 查询语句script.q脚本如下: select count(1) as count from test; 2. shell脚本如下: ...
- 利用XSLT把ADO记录集转换成XML
由于XML(可扩展标记语言:eXtensible Markup Language)真正的平台无关性,它正在逐渐成为数据传输的主要介质.XML是一种自描述的语言,数据本身就已经包含了元数据,即关于数据本 ...
- oracle 游标查询数据库,Oracle数据库使用游标查询结果集所有数据
--Oracle使用游标查询结果集所有数据 DECLARE myTabelName NVARCHAR2(200):=''; --表名 myTableRowComment NVARCHAR2(200): ...
- MySQL笔记13:查询结果集
操作mysql - 查询结果集 1.用mysql进行数据查询的时候,mysql会返回一个结果集给我们,接着我们需要调用mysql的API,从这个结果集中取得我们要的数据.取完数据之后,需要释放这个结果 ...
- 关于如何生成随机记录
方法一: 在ACCESS环境中用rnd函数解决,以下查询展示了如何从表中随机抽取10条记录 SELECT top 10 * FROM tbl1 ORDER BY Rnd(id) 另外, Rnd(id) ...
最新文章
- 感冒了,头晕晕沉沉的,什么时候能好啊!
- java中的内存分配原则
- Js里面IF(var)表示什么意思?js中if的写法、含义
- 使用Androidkiller编译APK文件时出现libpng error: Not a PNG file的错误
- ON DUPLICATE KEY UPDATE单个增加更新及批量增加更新的sql
- 使用python的笔记
- linux常用命令练习:wc、cut、|、tee、tail
- Linux字符设备驱动实现
- Hugging Face Course-Introduction学习小记 (part2)
- react中使用eslint+prettier+airbnb校验代码风格
- 以太坊geth节点同步亲测经历
- 单片机数据上传到阿里云物联网平台后,如何在手机端和网页端获取获取数据?
- domino服务器打开邮件,Domino邮件服务器配置(接收、发送).doc
- 计算机三种不同类型的用户账户,网络操作系统——Windows Server 2008篇 教学课件 1 作者 刘本军 李建利 [项目5]用户与组的管理.ppt...
- python 期货现货差价监测_火币网现货API[Python3版]
- oracle 11g ocp 笔记(6)-- oracle安全
- POJ1837 DP
- TomCat报404错误是什么原因该怎么解决
- 个人计算机cache是什么意思,cache在计算机中的作用是什么?
- Daily English - ... is driving me up a wall.