我已经在天涯海角搜索了这个解决方案,对于其他所有人来说,解决方法是在 autoload.php 中自动加载数据库类。但是,我已经在这样做了,所以我不知道还能去哪里。
控制器:
class Login extends CI_Controller{
function validate_credentials(){
$this->load->model('membership_model');
// call the member function from membership_model.php
$q = $this->membership_model->validate();
if($q){
// user info is valid
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('site/members_area');
}else{
$this->index();
}
}
}
模型:
class Membership_model extends CI_Model{
function validate(){
// this method is called from the login.php controller
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', md5($this->input->post('password')));
$q = $this->db->get('members');
if($q->num_rows == 1){
return true;
}
return false;
}
}
请对此有任何帮助,我正在绕圈子
我的下一个想法是 php.ini 需要在我的主机服务器上进行配置,以加载 mysql 模块 - 但我会对此感到非常惊讶吗?
只是为了澄清 - 这条线:
if($q->num_rows)
是问题,说我试图引用一个非对象的属性