新的堆栈溢出(和codeigniter!),我在我的第一个项目上遇到这个问题,自然...我敢肯定它是我的一个笨蛋错误,但我一直在研究,并试图找出过去的几个小时,我猫似乎想通了......Codeigniter活动记录致命错误
我有数据库库自动加载,但每次我尝试使用我的模型中的方法我得到这个错误:
“致命错误:调用一个成员函数,其中()的非对象在应用\模型\上线13 user_model.php上”
这是我的用户控制器的方法通过表单的动作从我的登录表单视图叫:
function login() {
$this->load->model('user_model');
$query = $this->user_model->validate();
if ($query)
{
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('members');
}
else
{
$this->load->view('user');
}
} // end login function
这是我的模型:
<?php
class User_model extends CI_Model {
function __construct() {
parent::__construct();
}
// -------------------------------------------------------------------------------
// validate(): query db for user/pass and return true or false
function validate() {
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', sha1($this->input->post('password')));
$query = $this->db->get('users');
if ($query->num_rows() > 0)
{
return true;
}
} // end validate function
// -------------------------------------------------------------------------------
function check()
{
$dbo = $this->load->database('default',TRUE);
$query = $this->$dbo->get('users');
echo $query->num_rows();
}
} // end user_model class
,当我试图调试的问题,我加入了数据库的方法来控制和他们的工作罚款......在我的模型中使用它们时,他们不想因为任何原因而工作,并抛出我提到的致命错误。感谢任何帮助你们抛弃我的方式。
在此先感谢!
(使用笨2.1)
编辑:
只是为了澄清一些事情有点多,当我添加validate方法(从我的模型),以我的控制,我没有得到任何错误,一切正常。但在模型离开它时,从控制器调用它,我得到了致命的错误
你绝对确保数据库库加载?要自动加载需要编辑'application/config/autoload.php'的库,并在相应的数组中添加需要自动加载的内容。 – afarazit 2012-03-06 13:55:00
正面...不确定它是什么,但我做了一些四处搜寻,发现其他人有同样的问题。全新安装的CodeIgniter具有相同的确切代码和文件,问题消失了......奇怪...一直在CodeIgniter会话类中出现问题,必须将其切换为让会话为我工作。毋庸置疑,几天我的头发拉出,我终于进步:) – newguy13 2012-03-11 06:04:11