row() return 特定字段为空
row() return null for specific field
我正在尝试将特定字段从记录保存到会话中,以用于我的用户角色。这里的问题是除了 nama.
我不能接受任何其他领域
controller/verify_login
public function index(){
$this->load->model('verify_login_model');
$username = $this->input->post('username');
$password = $this->input->post('password');
$result = $this->verify_login_model->verify($username, $password);
if($result == $username) {
$name = $this->verify_login_model->getinfo($username);
$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('username', $username);
$this->session->set_userdata('name', $name);
$this->load->view('home_view');
} else {
redirect('login');
}
model/verify_login_model
function verify($username, $password){
$this->db->select('username', 'password');
$this->db->from('tb_user');
$this->db->where('username', $username);
$this->db->where('password', MD5($password));
$this->db->limit(1);
$query = $this->db->get();
if($query->num_rows()==1) {
return $username;
} else {
return false;
}
}
function getinfo($username) {
$this->db->select('nama', 'username');
$this->db->from('tb_userInfo');
$this->db->where('username', $username);
$this->db->limit(1);
$query = $this->db->get();
if($query->num_rows()==1) {
$result = $query->row();
return $result->nama;
} else {
return false;
}
}
查看
<?php echo $this->session->userdata['name']?>
var_dump($result) : object(stdClass)#22 (1) { ["nama"]=> string(4) "test" }
如果我改变 return $result->nama; $result->用户名;我得到错误:未定义 属性: stdClass::$username 即使我确定 200% table 中有用户名字段,并直接尝试查询。
你的select语句有误,一定是
$this->db->select('nama,username');
您将每一列分开,这是不正确的,所有列都在一个字符串中,这就是为什么它告诉您它未定义的原因,因为您发送的唯一列是 nama,而您将用户名作为第二列发送select.
的参数
active record 上的 link CodeIgniter 2.2.0
我正在尝试将特定字段从记录保存到会话中,以用于我的用户角色。这里的问题是除了 nama.
我不能接受任何其他领域controller/verify_login
public function index(){
$this->load->model('verify_login_model');
$username = $this->input->post('username');
$password = $this->input->post('password');
$result = $this->verify_login_model->verify($username, $password);
if($result == $username) {
$name = $this->verify_login_model->getinfo($username);
$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('username', $username);
$this->session->set_userdata('name', $name);
$this->load->view('home_view');
} else {
redirect('login');
}
model/verify_login_model
function verify($username, $password){
$this->db->select('username', 'password');
$this->db->from('tb_user');
$this->db->where('username', $username);
$this->db->where('password', MD5($password));
$this->db->limit(1);
$query = $this->db->get();
if($query->num_rows()==1) {
return $username;
} else {
return false;
}
}
function getinfo($username) {
$this->db->select('nama', 'username');
$this->db->from('tb_userInfo');
$this->db->where('username', $username);
$this->db->limit(1);
$query = $this->db->get();
if($query->num_rows()==1) {
$result = $query->row();
return $result->nama;
} else {
return false;
}
}
查看
<?php echo $this->session->userdata['name']?>
var_dump($result) : object(stdClass)#22 (1) { ["nama"]=> string(4) "test" }
如果我改变 return $result->nama; $result->用户名;我得到错误:未定义 属性: stdClass::$username 即使我确定 200% table 中有用户名字段,并直接尝试查询。
你的select语句有误,一定是
$this->db->select('nama,username');
您将每一列分开,这是不正确的,所有列都在一个字符串中,这就是为什么它告诉您它未定义的原因,因为您发送的唯一列是 nama,而您将用户名作为第二列发送select.
的参数active record 上的 link CodeIgniter 2.2.0