Al.Qin
2016-08-07 12:18
采纳率: 75%
浏览 4.7k
已采纳

thinkphp从获取到的结果集中提取数组

thinkphp从获取到的结果集中中有一天数据,如何提取出来转化为数组 用什么方法?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • devmiao 2016-08-08 00:11
    已采纳
     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 模式实现之一,简洁直观。
    
    点赞 评论
  • 鱼弦 2016-08-07 12:37

    例如:$list = $Base->where("id='".$id."'")->select();
    echo echo $list['title'];

    提取数组:
    $list = $Base->where("id='".$id."'")->select();
    改为
    $list = $Base->where("id='".$id."'")->find();
    select 查出来是二维数组
    如果确定结果只有一条记录请用find,当然你用select也没错,只是有点脱裤子放屁的感觉,用select的话,就得 echo $list[0]['title'];

    点赞 评论

相关推荐 更多相似问题