在我的autoload.php文件中
$autoload['libraries'] = array('database', 'session');
会员控制员:
Class Member extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function index()
{
}
public function login()
{
$this->load->model('admin/member_model', 'member_model');
$username = $this->input->get('username');
$password = $this->input->get('password');
$this->member_model->__set('username', $username);
$this->member_model->__set('password', $password);
$this->member_model->login();
}
}
我的Member_model.php
Class Member_model extends CI_Model
{
var $id;
var $username;
var $password;
var $email;
var $type;
public function __set($name, $value)
{
$this->{$name} = $value;
}
public function __get($name)
{
return $this->{$name};
}
public function login()
{
$this->db->get('username');
}
}
但是当我调用login
member_model
方法时,CodeIgniter会返回以下错误:
遇到PHP错误
严重性:注意
消息:未定义属性:Member_model :: $ db
文件名:admin / member_model.php
行号:17
我想知道我做错了什么以及如何解决它
答案 0 :(得分:0)
Class Member_model extends CI_Model
{
var $id;
var $username;
var $password;
var $email;
var $type;
var $db;
public function setDb($db){
$this->db = $db;
}
public function __set($name, $value)
{
$this->{$name} = $value;
}
public function __get($name)
{
return $this->{$name};
}
public function login()
{
$this->db->get('username');
}
}
$memberModel = new Member_model();
$memberModel ->setDb($db);
.......
$memberModel->login()
OR
Class Member_model extends CI_Model
{
var $id;
var $username;
var $password;
var $email;
var $type;
var $db;
public function __constructor($db, ..... some other params....){
$this->db = $db;
parent::__construct(..... some other params....);
}
public function __set($name, $value)
{
$this->{$name} = $value;
}
public function __get($name)
{
return $this->{$name};
}
public function login()
{
$this->db->get('username');
}
}
$memberModel = new Member_model($db);
.......
$memberModel->login()