本文介绍了codeigniter 模型错误:未定义的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可能的重复:
错误:获取非对象的属性
我是 codeigniter 模型的新手,我尝试按照文档中的步骤加载在我的数据库中注册的所有用户.
这是我的模型:user.php
class 用户扩展模型 {函数用户(){父::模型();}函数所有用户(){$query = $this->db->query("select * from user limit 0,5");//第 30 行错误,如我的 IDE 位于此行中返回 $query->result();}}
这是我的控制器:home.php
class home extends Controller {函数索引(){父::控制器();}函数所有用户(){$this->load->model('User');$result = $this->User->showusers();如果 ($result->num_rows()>0) {foreach ($result as $row) {echo "ID:".$row->userid." ".$row->userpenname."<br/>";echo $row->userfirstname." ".$row->userlastname."<br/>";}}}}
显示错误:
遇到一个 PHP 错误严重性:注意消息:未定义的属性:User::$db文件名:models/user.php行号:30
致命错误:在
G:xampphtdocsfiksisystemapplicationmodelsuser.php 中第 30 行的非对象上调用成员函数 query()
第 30 行见上面的评论...
解决方案
您必须先加载 db 库.在 autoload.php
中添加:
$autoload['libraries'] = array('database');
另外,尝试将用户模型类重命名为User_model".
I am new to codeigniter model, i try to follow steps in docs to load all user registered in my db.
This is my model: user.php
class User extends Model {
function user() {
parent::Model();
}
function alluser() {
$query = $this->db->query("select * from user limit 0,5"); //Line 30 error as in my IDE located in this line
return $query->result();
}
}
This is my controller: home.php
class home extends Controller {
function index() {
parent::Controller();
}
function alluser() {
$this->load->model('User');
$result = $this->User->showusers();
if ($result->num_rows()>0) {
foreach ($result as $row) {
echo "ID:".$row->userid." ".$row->userpenname."<br />";
echo $row->userfirstname." ".$row->userlastname."<br />";
}
}
}
}
it showing error:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: User::$db
Filename: models/user.php
Line Number: 30
Line 30 see comment above...
解决方案
You have to load the db library first. In autoload.php
add :
$autoload['libraries'] = array('database');
Also, try renaming User model class for "User_model".
这篇关于codeigniter 模型错误:未定义的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!