致命错误:致电成员函数
问题描述:
我需要帮助来调试我的代码。林进入新的PHP和即时通讯使用codeigniter框架。我试着去我的数据库表的内容显示到我的网页致命错误:致电成员函数
/controllers/users.php
$<?php
class Users extends CI_Controller{
function __Users(){
// load controller parent
parent::__Controller();
// load 'Users' model
$this->load->model('Users');
}
function index(){
$data['users']=$this->Users->getUsersWhere('userid <',5);
$data['numusers']=$this->Users->getNumUsers();
$data['title']='Displaying user data';
$data['header']='User List';
// load 'users_view' view
$this->load->view('users_view',$data);
}
}
?>
/models/users.php
$<?php
class Users extends CI_Model{
function __Users(){
// call the Model constructor
parent::__CI_Model();
// load database class and connect to MySQL
$this->load->database();
}
function getAllUsers(){
$query=$this->db->get('admin_user');
if($query->num_rows()>0){
// return result set as an associative array
return $query->result_array();
}
}
function getUsersWhere($field,$param){
$this->db->where($field,$param);
$query=$this->db->get('admin_user');
// return result set as an associative array
return $query->result_array();
}
// get total number of users
function getNumUsers(){
return $this->db->count_all('admin_user');
}
}
?>
有这个IM错误
Fatal error: Call to a member function getUsersWhere() on a non-object in C:\xampp\htdocs\printone\application\controllers\users.php on line 16
可能是什么故障?
答
你错误地命名了你的控制器构造函数,所以它没有被调用,并且你的模型没有被加载。
变化
function __Users(){
到
function __construct(){
谢谢您的回复...新的即时通讯到PHP以及与笨应该被替换调用构造函数的所有? 函数__Users()函数__construct() 以及模型? – nhoyti 2011-05-10 02:43:02
是的,你所有的构造函数应该被调用'__construct()'。有关更多信息,请参阅[PHP手册](http://php.net/manual/en/language.oop5.decon.php)和[CI用户指南](http://codeigniter.com/user_guide)。 – BoltClock 2011-05-10 02:47:26