thinkphp的select和find的区别

 我来答
DaWei
推荐于2016-02-21 · TA获得超过163个赞
知道小有建树答主
回答量:234
采纳率:75%
帮助的人:108万
展开全部

读取数据

读取数据是指读取数据表中的一行数据(或者关联数据),主要通过find方法完成,例如:

$User = M("User"); // 实例化User对象
// 查找status值为1name值为think的用户数据 
$data = $User->where('status=1 AND name="thinkphp"')->find();
dump($data);

find方法查询数据的时候可以配合相关的连贯操作方法,其中最关键的则是where方法,如何使用where方法我们会在查询语言章节中详细描述。

如果查询出错,find方法返回false,如果查询结果为空返回NULL,查询成功则返回一个关联数组(键值是字段名或者别名)。 如果上面的查询成功的话,会输出:

array (size=3)
  'name' => string 'thinkphp' (length=8)
  'email' => string 'thinkphp@gmail.com' (length=18)
  'status'=> int 1

即使满足条件的数据不止一个,find方法也只会返回第一条记录(可以通过order方法排序后查询)。

还可以用data方法获取查询后的数据对象(查询成功后)

$User = M("User"); // 实例化User对象
// 查找status值为1name值为think的用户数据 
$User->where('status=1 AND name="thinkphp"')->find();
dump($User->data());

读取数据集

读取数据集其实就是获取数据表中的多行记录(以及关联数据),使用select方法,使用示例:

$User = M("User"); // 实例化User对象
// 查找status值为1的用户数据 以创建时间排序 返回10条数据
$list = $User->where('status=1')->order('create_time')->limit(10)->select();

如果查询出错,select的返回值是false,如果查询结果为空,则返回NULL,否则返回二维数组。

野人无事不言L
2018-07-30 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:144.6亿
展开全部
没有用过 但是表面上看像是 select 是选择查询哪几个字段 find是查询结果集
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
周启萌
2018-07-29 · TA获得超过1152个赞
知道大有可为答主
回答量:1441
采纳率:86%
帮助的人:1720万
展开全部
select查询的是多个数据,返回的结果也是二维数组
find是查询的一条数据,返回的是一维数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d559aa1
推荐于2018-04-11
知道答主
回答量:52
采纳率:0%
帮助的人:8.9万
展开全部
find()返回一个一维数组,select()返回一个二维数组;
也就是说find查找的是一条记录(匹配到的第一条);
select是查询到的多条记录。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式