I'm using codeigniter framework and I'm getting this error when I've submitted my form:
Message: Undefined property: Users::$Usersa
Filename: controllers/users.php
Line: 44
Fatal error: Call to a member function insert() on a non-object
Users Controller (section that's broken):
$this->load->model('usersa');
$register = array(
'username' => $this->input->post('username'),
'password' => $this->input->post('password'),
'email' => $this->input->post('email')
);
// validation stuff
if ($this->input->post())
if ($this->form_validation->run() == FALSE) {
} else {
$this->Usersa->insert($register); // This is line 44
}
Usersa Model (this file is located in application/models)
class Usersa extends MY_Model {
var $table = 'users';
function __construct() {
parent::__construct();
}
}
MY_Model (located in applications/core)
class MY_Model extends CI_Model{
protected $table = '';
function __construct() {
parent::__construct();
}
function insert() {
$this->db->insert($this->table, $register);
}
}
The table data is getting passed through fine and I'm pretty sure the register data is as well I just can't seem to figure out why I'm getting the error message.
You are loading the model as "usera"
- but referencing it as $this->Usera
- you should references it lowercased:
$this->usersa->insert($register);
Alternately, you can pass the name you'd like to reference the model at with the 2nd parameter as illustrated @ http://codeigniter.com/user_guide/general/models.html:
$this->load->model('usersa','some_model_name');
$this->some_model_name->insert(...);