致命错误:调用一个成员函数,其中()非对象笨$查询 - > NUM_ROWS()== 1)[式

2019-09-24 00:01发布

可能重复:
笨-调用一个成员函数选择()一个非对象

我用笨的新手,有一些问题。

错误消息: 致命错误:调用一个成员函数,其中()的非对象在C于:\ XAMPP \ htdocs中\ MOI \ CI \应用\模型\ model_users.php第12行

我的模型:

class Model_users extends CI_Model {

 function __construct(){
    parent::__construct();
}

public function can_log_in() {


    $this->db->where('email', $this->input->post('email'));
    $this->db->where('pass', md5($this->input->post('password')));
    $query = $this->db->get('users');

    if ($query->num_rows()==1) {
        return TRUE;
    } else {
        return FALSE;
    }

我的控制器:

class Main extends CI_Controller {

public function index() {
    $this->login();
}

//Auslagern der Funktionen
public function login() {
    $this->load->view('login');
}

public function login_validation() {

    $this->load->library('form_validation');

    $this->form_validation->set_rules('email', 'email', 'required|valid_email|xss_clean|callback_username_check');
    $this->form_validation->set_rules('password', 'password', 'required|md5');

    if ($this->form_validation->run()) {
        redirect('main/members');
    } else {
        $this->load->view('login');
    }
}

public function username_check() {
    $this->load->library('form_validation');
    $this->load->model('model_users');
    if ($this->model_users->can_log_in()) {
        return TRUE;
    } else {
        $this->form_validation->set_message('username_check', 'incorect User or Passwort.');
        return FALSE;
    }
}

}

请帮忙

Answer 1:

请参见下面的网址

笨-调用一个成员函数选择()一个非对象

试试吧

class User_model extends CI_Model { 

     public function __construct() 
     {
           parent::__construct(); 
           $this->load->database();
     }

     public function can_log_in() {


        $this->db->select('*');
        $this->db->from('user');
        $this->db->where('username', $this->input->post('username'));
        $this->db->where('password', md5($this->input->post('password')));
        $validate_user = $this->db->get();

       if ($query->num_rows()==1) {
         return TRUE;
       } else {
         return FALSE;
      }


}

}


Answer 2:

$this->db似乎并没有被定义。 看来你没有一个属性名称$db模型内。

你用过: $this->load->database(); 初始化数据库?

试试下面的代码:

class Model_users extends CI_Model {

    function __construct(){
        parent::__construct();
        $this->load->database();
    }

信息
例如: http://maestric.com/doc/php/codeigniter_models
用户指南: http://ellislab.com/codeigniter/user_guide/database/examples.html



Answer 3:

你有你的自动加载数据库? 如果没有,你可能需要将这个代码添加到构造函数:

$this->load->database();


Answer 4:

你的问题是没有太大关系到笨特定也不到数据库。

它首先是一个标准的PHP错误的,对于一般信息,请参阅

  • PHP错误参考:致命错误:调用一个成员函数......一个非对象

在你的情况下-忘掉笨了一会儿-这意味着$this确实僵尸有什么->db->load成员,失败的代码行:

$this->db->where('email', $this->input->post('email'));
$this->load->database();

很明显,这需要进一步调试。 为什么不是那些库加载? 为什么不是它甚至有可能加载数据库?

那么实际上这需要进一步调试。 它使我的眼睛,你的意见询问进一步的,当你提供你的问题很好的信息,其他用户只能给好答案没有任何意义。 但问一个问题总是有限的,以及,确保万无一失。

也许首先是发表您的模型类的完整代码。 这可能只是模型类本身已经螺丝它。 东西新鲜一双眼睛在这里快被发现。

但也不能保证为,只是一种可能性。 你可以打破,同样在其他地方。 这些都是难以达到,所以你最好做,在你的开发环境中使用的阶梯状调试Xdebug的。



文章来源: Fatal error: Call to a member function where() on a non-object codeigniter $query->num_rows()==1) [duplicate]