我是CodeIgniter的新用户,我正在尝试使用CodeIgniter创建简单的登录页面但是我收到以下错误:
在第13行的C:\ xampp \ htdocs \ CodeIg \ application \ models \ user.php中调用非对象的成员函数where()
我不知道从哪里开始调试这个,建议将不胜感激。
我的模型代码如下:
<?php
class User extends CI_model{
function __construct()
{
parent::__construct();
}
public function verifyuser()
{
$username = $this->input->post('username');
$password = $this->input->post('password');
$remember = $this->input->post('remember');
$this->db->where('username', $username);
$this->db->where('password', $password);
$query = $this->db->get('user_login');
$result = array();
if($query->num_rows==0)
{
$result['false']=false;
return $result;
}
else
{
$result=$query->result();
foreach($result as $item)
{
$result['id']=$item->id;
$result['username']=$item->username;
$result['password']=$item->password;
}
return $result;
}
}
}
?>
和控制器的代码是:
<?php
class User_Controller extends CI_controller
{
public function getloginData()
{
$this->load->model('User');
$rvalue = $this->User->verifyuser();
header('Content-type: application/json');
echo json_encode($rvalue);
}
}
?>
答案 0 :(得分:2)
数据库未初始化 您需要在application / config / autoload.php中包含“数据库”:
$autoload['libraries'] = array('database', 'session');
或者在模型类构造函数中:
class User extends CI_model{
public function __construct()
{
parent::__construct();
$this->load->database();
}
}
您可以在此处获取更多信息:http://ellislab.com/codeigniter/user_guide/database/connecting.html
答案 1 :(得分:1)
$this->db
未初始化,因此$this->db
为null并且调用null()on null会导致此错误..您必须首先将内容分配给$ this-&gt; db。
为此,您必须在控制器中添加模型