代码点火器:在非对象上调用成员函数num_rows()

时间:2013-02-14 09:09:52

标签: php sql database codeigniter session

我在localhost上的codeigniter开发了一个应用程序...应用程序工作正常..然后我将应用程序上传到临时服务器...并且在登录管理面板后我收到此错误..但如果我运行在localhost中的相同应用程序,它工作正常......

错误

  Fatal error: Call to a member function num_rows() on a non-object in  /home/u520606051/public_html/application/models/loginmodel.php on line 9

这是我的模特:

function validate($data)
{
    $query = $this->db->get_where('users', $data);
    if($query->num_rows() == 1)
    {
        return true;
    }
}

控制器

function verifyUser()
{
    //getting parameters from view 
    $data = array(
            'username' => $this->input->post('username'),
            'password' => $this->input->post('password')
        );      
    $this->load->model('loginModel'); 
    $query = $this->loginModel->validate($data);

    if ($query)
    {
        //if the user c validated
        //data variable is created becx we want to put username in session
        $data = array(
                'username' => $this->input->post('username'),
                'is_logged_in' => true  
            );

        $this->session->set_userdata($data);
        redirect('sessionController/dashboard_area');
    }
    else
    {
        $this->index();
    }
    }

档案名称:

  loginmodel.php

 class Loginmodel extends CI_Model 

控制器的文件名

loginController.php

 class LoginController extends CI_Controller 

2 个答案:

答案 0 :(得分:3)

我自己提出了一个解决方案..实际上它没有加载数据库,因此当我想查询并选择结果时我得到了这个错误,最后当我检查我的databse.php文件时有一个白色数据库名称中的空格,所以我将其删除..感谢所有人

答案 1 :(得分:0)

如果没有看到您的文件名,我无法保证,但几乎可以肯定的是,您在文件名,类名和文件名中使用不同的大写字母命名了您的模型。调用(加载)名称。

您的本地主机很可能是Windows,它不关心;您的服务器很可能是区分大小写的Linux

回去检查一切都是一样的,你会没事的