我正在创建一个注册。每当我尝试向db插入数据时,它都会抛出此错误。
遇到PHP错误严重性:通知消息:未定义 property:insert_ctrl :: $ insert_model文件名: controllers / insert_ctrl.php行号:38 致命错误:在非对象中调用成员函数form_insert() C:\ xampp \ htdocs \ NewProject \ application \ controllers \ insert_ctrl.php on 第38行
这是我的insert_ctrl.php
<?php
class insert_ctrl extends CI_Controller{
function _construct()
{
parent :: _construct();
$this->insert_model->form_insert($data);
}
function index()
{
//Including validation library
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<div class ="error">','</div>');
//Validating name field
$this->form_validation->set_rules('dname','Username','required|min_length[5]|max_length[15]');
$this->form_validation->set_rules('demail','Email','required|valid_email');
$this->form_validation->set_rules('dmobile','Mobile No.');
$this->form_validation->set_rules('daddress','Adress','required|min_length[10]|max_length[50]');
if($this->form_validation->run()==FALSE)
{
$this->load->view('insert_view');
}
else {
//Setting values for db table
$data=array(
'Student_Name'=>$this->input->post('dname'),
'Student_Email'=>$this->input->post('demail'),
'Student_Mobile'=>$this->input->post('dmoblie'),
'Student_Address'=>$this->input->post('daddress')
);
//Transfering data to model
$this->insert_model->form_insert($data);
//loading view
$this->load->view('insert_view');
}
}
}
//insert_model.php
<?php
class insert_model extends CI_Model{
function _construct()
{
parent :: _construct();
}
function form_insert($data)
{
$this->db->insert('student',$data);
}
}
?>
答案 0 :(得分:2)
你调用了错误的模型函数:
You call $this->load->model('Insert_model');
这意味着您的模型是Insert_model
而不是:
$this->insert_model->form_insert($data);
您使用
$this->Insert_model->form_insert($data);
将构造函数代码更改为
function _construct()
{
parent :: _construct();
$this->load->model('insert_model');
}
答案 1 :(得分:2)
我的controller-insert_ctrl.php
class insert_ctrl extends CI_Controller{
function __construct()
{
parent :: __construct();
$this->load->model('insert_model');
}
function index()
{
$this->insert_model->form_insert();
echo "Clear";
}
}
我的模型 - insert_model.php
class insert_model extends CI_Model{
function __construct()
{
parent :: __construct();
}
function form_insert()
{
echo "model loaded Successfully";
}
}
此型号和控制器的名称与您的完全相同。检查模型的加载和调用方式。
您可以通过在php文件上添加以下代码行来克服内存限制错误。
的ini_set( “memory_limit的”, “512M”);
答案 2 :(得分:0)
更改此行
$ autoload ['libraries'] = array();
到
$ autoload ['libraries'] = array('database');
config\autoload.php
中的
答案 3 :(得分:-1)
添加以下行:$this->load->model('modelName');
function __construct()
{
parent :: __construct();
$this->load->model('modelName');
}