当前位置:Gxlcms > PHP教程 > 获取Codeigniter数据库查询的记录里的对象的字段值,该怎么处理

获取Codeigniter数据库查询的记录里的对象的字段值,该怎么处理

时间:2021-07-01 10:21:17 帮助过:19人阅读

获取Codeigniter数据库查询的记录里的对象的字段值
这是codeigniter里的一段程序
models层
function checkUser()
{
$username = $this->input->post('username');
$password = $this->input->post('password');
$this->db->from('user');
$this->db->where('username',$username);
$this->db->where('password',$password);
$query=$this->db->get();
return $query->result();
}
controller层:

public function User_Login()
{
$this->load->model('User','',TRUE);
$error['info']="用户名或者密码错误!";
$data['query']=$this->User->checkUser();
$info=$this->User->checkUser();
//打印出这里获得的用户信息
print_r($info);
if(!empty($data['query']))
{
$this->load->view('User/User_Index');
}
else
{
$this->load->view('index',$error);
}
}

这里有个知识点有点纠结!
注释出打印出来的信息为:
Array ( [0] => stdClass Object ( [id] => 1 [createdate] => 2011-03-29 14:32:18 [flag] => 1 [password] => 123 [username] => user1 [email] => ) )


现在我如何让获得这个数组的第一个对象里的id???


------解决方案--------------------
PHP code


// model
function checkUser()
{
    //省略其他代码
    //我的个人理解,这里只会返回一个对象,那么不如直接就返回一个内容
    $res_data = $query->result_array();
    // or $res_data = $query->result(); // 使用对象的话
    if ((count($res_data) == 1)) 
    {
        $res_data = reset($res_data);
    }

    return $res_data;
}

// controller
public function User_Login()
{
    $this->load->model('User','',TRUE);
    $error['info']="用户名或者密码错误!";
    $data['query']=$this->User->checkUser();
    $info=$this->User->checkUser();
    //打印出这里获得的用户信息
    print_r($info);

    // 对象的话 $info->id
    if(!empty($info['id']))
    {
        $this->load->view('User/User_Index');
    }
    else
    {
        $this->load->view('index',$error);
    }
}                     

人气教程排行