ThinkPHP find方法 查询一条数据记录


find()

ThinkPHP find() 方法是和 select() 用法类似的一个方法,不同之处 find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制。

当确认查询的数据记录只能是一条记录时,建议使用 find() 方法查询,如用户登录账号检测:

public function chekUser(){
    header("Content-Type:text/html; charset=utf-8");
    $Dao = M("User");
    
    // 构造查询条件
    $condition['username'] = 'Admin';
    $condition['password'] = MD5('123456');
    // 查询数据
    $list = $Dao->where($condition)->find();

    if($list){
        echo '账号正确';
    }else{
        echo '账号/密码错误';
    }
}

与 select() 的另一个不同之处在于,find() 返回的是一个一维数组,可以在模板里直接输出数组单元的值而无需使用 volist 等标签循环输出:

{$list['username']}

find() 主键查询

当 find() 查询的条件参数为表主键时,可以直接将参数写入方法内,如:

$Dao = M("User");
$list = $Dao->find(1);

user 表主键为 uid,该例子将查询 uid=1 的数据,这是 ActiveRecords 模式实现之一,简洁直观。

参考阅读

  1. MySQL LIMIT 限定查询记录数
  2. MySQL 表字段属性(主键)
    ThinkPHP 查询数据 select(findAll) 方法
    ThinkPHP find方法 查询一条数据记录
    ThinkPHP getBy动态查询
    ThinkPHP getField 方法获取某个字段的值
    ThinkPHP 区间查询
    ThinkPHP 统计查询
    ThinkPHP 定位查询
    ThinkPHP 原生SQL查询

zgguan.com(it学习网) — 提供最好的 XHTML教程DIV+CSS教程JavaScript教程PHP教程ThinkPHP教程