获取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);
}
}