2011-02-06 69 views
1

这是我运行代码:为什么我在codeigniter库中出现成员函数错误?

class Auth { 
//put your code here 

var $ci; 

function __construct() 
{ 
    $this->ci =& get_instance(); 
    $this->ci->load->library('session'); 
} 

function Login($param) 
{  
    // Get user from database   
    $this->ci->load->model('User_model'); 
    $user = $this->ci->user_model->getuserbyemail($param["email"]); 

(或者至少是我参加竞选的一部分)

,我发现了以下错误:

Fatal error: Call to a member function getuserbyemail() on a non-object in C:\Users\Piers\Documents\Projects\dithinsi\application\libraries\Auth.php on line 28

第28行是上面代码的底线。

这是因为我没有正确处理$ci变量吗?

+0

犯规`$这个 - > ci`返回User_Model实例,而不是将其存储在内部?试试`$ users = $ this-> ci-> load-> model('User_model'); $ users-> getuserbyemail();` – prodigitalson 2011-02-06 16:49:39

+0

您是否从其他文件复制User_model文件并忘记重命名该类? – Knossos 2011-02-06 16:49:27

回答

2

这是因为user_model属性未申报。

根据Codeigniter manual,模型对象的属性名称等于给予model()方法的参数值。

在PHP中,变量名称区分大小写。 User_model不等于user_model

尝试用会发生什么:

$user = $this->ci->User_model->getuserbyemail($param["email"]); 
相关问题