在第 37 行调用 D:\wamp\www\registration\application\controllers\pages.php 中未定义的方法 CI_DB_mysqli_driver::insert_item()
Call to undefined method CI_DB_mysqli_driver::insert_item() in D:\wamp\www\registration\application\controllers\pages.php on line 37
我是 CI 的新手,我刚刚开始编写代码。我正在制作一个简单的联系表格并收到此错误。
Call to undefined method CI_DB_mysqli_driver::insert_item() in
D:\wamp\www\registration\application\controllers\pages.php on line 37
这是我的 controller.php
的代码
<?php class Pages extends CI_Controller { public function view($page = 'home'){
if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
$this->load->model('user_model');
//$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
//$this->load->view('templates/footer', $data);} public function data_submitted(){
$name = $this->input->get('name');
$email = $this->input->get('email');
$mobile = $this->input->get('mobile');
$address = $this->input->get('address');
$gender = $this->input->get('gender');
$data1 = array(
'name'=> $name,
'email'=>$email,
'mobile'=>$mobile,
'address'=>$address,
'gender'=>$gender
);
//$this->db->set($data1);
$this->user_model->insert($data1); } } ?>
这是我的模型的完整代码
<?php class User_model extends CI_Model { private $item; function __construct(){
/* Call the Model constructor */
parent::__construct(); }
function insert_item($item){
/*$this->table = "contact";
$this->item = $item;
*/
//$dbconnect = $this->load->database();
$this->db->insert("contact", $item);} }
您已经使用过
$this->db->insert_item($data1);
但是insert_item
是模型函数。
加载模型然后通过模型调用,如下所示:
$this->load->model('Blog');
$this->Blog->get_last_ten_entries();
您的控制器正在引用 db
库:
$this->db->insert_item($data1);
但是,insert_item()
方法只存在于您的模型中!
它应该看起来像这样:
$this->load->model('my_model');
$this->my_model->insert_item($data1);
在此处编辑以考虑您的控制器代码。
假设 user_model
已经加载,并且 user_model
包含您要更改的方法 insert_item()
$this->user_model->insert($data1);
至
$this->user_model->insert_item($data1);
看到你完整的控制器和模型代码...
您的控制器:
您正在 view()
方法中加载用户模型,但据我所知,您实际上并没有使用它。但是,您正在 data_submitted()
中使用该模型,但它从未加载到那里。您还使用了 insert
而不是 insert_item()
。这是控制器的更正代码。
public function view($page = 'home') {
if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
//$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
//$this->load->view('templates/footer', $data);
}
public function data_submitted(){
$name = $this->input->get('name');
$email = $this->input->get('email');
$mobile = $this->input->get('mobile');
$address = $this->input->get('address');
$gender = $this->input->get('gender');
$data1 = array(
'name'=> $name,
'email'=>$email,
'mobile'=>$mobile,
'address'=>$address,
'gender'=>$gender
);
$this->load->model('user_model');
$this->user_model->insert_item($data1);
}
您的模特:
似乎有些代码什么也没做。我已经删除了它,下面的代码应该可以工作。
class User_model extends CI_Model {
function __construct(){
/* Call the Model constructor */
parent::__construct();
}
public function insert_item($item){
$this->db->insert("contact", $item);
}
}
附带说明 - 你能看出代码现在阅读起来有多容易吗?确保使用正确的缩进,因为它会大大提高代码的可读性。
您需要确保正确调用模型 -> 函数。两者之间的命名约定不一致(它们必须在您的模型中出现时被调用)
data_submitted() 中的最后一次调用应该是:$this->user_model->insert_item($data1);如下
控制器:
<?php class Pages extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('user_model');
}
public function view($page = 'home')
{
if (!file_exists(APPPATH . '/views/pages/' . $page . '.php')) {
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
//$this->load->view('templates/header', $data);
$this->load->view('pages/' . $page, $data);
//$this->load->view('templates/footer', $data);
}
public function data_submitted()
{
$name = $this->input->get('name');
$email = $this->input->get('email');
$mobile = $this->input->get('mobile');
$address = $this->input->get('address');
$gender = $this->input->get('gender');
$data1 = array(
'name' => $name,
'email' => $email,
'mobile' => $mobile,
'address' => $address,
'gender' => $gender
);
//$this->db->set($data1);
$this->user_model->insert_item($data1);
}
} ?>
型号:
<?php class User_model extends CI_Model
{
function __construct()
{
/* Call the Model constructor */
parent::__construct();
$this->load->database();
}
private $item;
function insert_item($item)
{
/*$this->table = "contact";
$this->item = $item;
*/
//$dbconnect = $this->load->database();
$this->db->insert("contact", $item);
}
}
我是 CI 的新手,我刚刚开始编写代码。我正在制作一个简单的联系表格并收到此错误。
Call to undefined method CI_DB_mysqli_driver::insert_item() in
D:\wamp\www\registration\application\controllers\pages.php on line 37
这是我的 controller.php
的代码<?php class Pages extends CI_Controller { public function view($page = 'home'){
if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
$this->load->model('user_model');
//$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
//$this->load->view('templates/footer', $data);} public function data_submitted(){
$name = $this->input->get('name');
$email = $this->input->get('email');
$mobile = $this->input->get('mobile');
$address = $this->input->get('address');
$gender = $this->input->get('gender');
$data1 = array(
'name'=> $name,
'email'=>$email,
'mobile'=>$mobile,
'address'=>$address,
'gender'=>$gender
);
//$this->db->set($data1);
$this->user_model->insert($data1); } } ?>
这是我的模型的完整代码
<?php class User_model extends CI_Model { private $item; function __construct(){
/* Call the Model constructor */
parent::__construct(); }
function insert_item($item){
/*$this->table = "contact";
$this->item = $item;
*/
//$dbconnect = $this->load->database();
$this->db->insert("contact", $item);} }
您已经使用过
$this->db->insert_item($data1);
但是insert_item
是模型函数。
加载模型然后通过模型调用,如下所示:
$this->load->model('Blog');
$this->Blog->get_last_ten_entries();
您的控制器正在引用 db
库:
$this->db->insert_item($data1);
但是,insert_item()
方法只存在于您的模型中!
它应该看起来像这样:
$this->load->model('my_model');
$this->my_model->insert_item($data1);
在此处编辑以考虑您的控制器代码。
假设 user_model
已经加载,并且 user_model
包含您要更改的方法 insert_item()
$this->user_model->insert($data1);
至
$this->user_model->insert_item($data1);
看到你完整的控制器和模型代码...
您的控制器:
您正在 view()
方法中加载用户模型,但据我所知,您实际上并没有使用它。但是,您正在 data_submitted()
中使用该模型,但它从未加载到那里。您还使用了 insert
而不是 insert_item()
。这是控制器的更正代码。
public function view($page = 'home') {
if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
//$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
//$this->load->view('templates/footer', $data);
}
public function data_submitted(){
$name = $this->input->get('name');
$email = $this->input->get('email');
$mobile = $this->input->get('mobile');
$address = $this->input->get('address');
$gender = $this->input->get('gender');
$data1 = array(
'name'=> $name,
'email'=>$email,
'mobile'=>$mobile,
'address'=>$address,
'gender'=>$gender
);
$this->load->model('user_model');
$this->user_model->insert_item($data1);
}
您的模特:
似乎有些代码什么也没做。我已经删除了它,下面的代码应该可以工作。
class User_model extends CI_Model {
function __construct(){
/* Call the Model constructor */
parent::__construct();
}
public function insert_item($item){
$this->db->insert("contact", $item);
}
}
附带说明 - 你能看出代码现在阅读起来有多容易吗?确保使用正确的缩进,因为它会大大提高代码的可读性。
您需要确保正确调用模型 -> 函数。两者之间的命名约定不一致(它们必须在您的模型中出现时被调用) data_submitted() 中的最后一次调用应该是:$this->user_model->insert_item($data1);如下
控制器:
<?php class Pages extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('user_model');
}
public function view($page = 'home')
{
if (!file_exists(APPPATH . '/views/pages/' . $page . '.php')) {
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
//$this->load->view('templates/header', $data);
$this->load->view('pages/' . $page, $data);
//$this->load->view('templates/footer', $data);
}
public function data_submitted()
{
$name = $this->input->get('name');
$email = $this->input->get('email');
$mobile = $this->input->get('mobile');
$address = $this->input->get('address');
$gender = $this->input->get('gender');
$data1 = array(
'name' => $name,
'email' => $email,
'mobile' => $mobile,
'address' => $address,
'gender' => $gender
);
//$this->db->set($data1);
$this->user_model->insert_item($data1);
}
} ?>
型号:
<?php class User_model extends CI_Model
{
function __construct()
{
/* Call the Model constructor */
parent::__construct();
$this->load->database();
}
private $item;
function insert_item($item)
{
/*$this->table = "contact";
$this->item = $item;
*/
//$dbconnect = $this->load->database();
$this->db->insert("contact", $item);
}
}