我已經搜索了地球的盡頭,回到了這個解決方案,對於其他人來說,修正是在autoload.php中自動加載數據庫類。但是,我已經這樣做了,所以我不知道還有什麼可以配合的。codeigniter調用一個非對象的成員函數row()
控制器:
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)
的問題,說我想引用一個非對象
謝謝。我改變了這一點,但我仍然得到: 致命錯誤:調用第18行中的/home/classify/public_html/songbin/application/models/membership_model.php中的非對象的成員函數num_rows() If我編輯database.php爲 $ db ['default'] ['dbdriver'] ='mysqli'; 而不是 $ db ['default'] ['dbdriver'] ='mysql'; 錯誤消息消失,但查詢仍然無法返回任何內容。數據庫信息肯定存在。 因此,我有另一個插入數據到數據庫的功能,它也無法實際插入 – Alex 2012-08-14 09:49:10