Php 无法将记录插入CodeIgniter中的数据库

Php 无法将记录插入CodeIgniter中的数据库,php,mysql,codeigniter,Php,Mysql,Codeigniter,我是CodeIgniter的初学者。我想在数据库中插入记录。这是我的视图文件。我将视图文件保存为register.php,将模型文件保存为register\u insert.php,将控制器文件保存为register.php,在mysql中,我的表名为register 看法 这是我的模型文件 <?php class Register extends CI_Model { function __construct() { parent::__construct();

我是CodeIgniter的初学者。我想在数据库中插入记录。这是我的视图文件。我将视图文件保存为register.php,将模型文件保存为register\u insert.php,将控制器文件保存为register.php,在mysql中,我的表名为register

看法

这是我的模型文件

<?php
class Register extends CI_Model
{

   function __construct() {
       parent::__construct();
   }
   function form_insert($data){
       $this->db->insert('register', $data);
   }
}
?>
}

?>

我认为您需要在控制器中加载模型寄存器

public function __construct(){
    parent::__construct();
    $this->load->model('register');
}
在函数索引中,您需要调用类名寄存器

public function index()
    {
        if(isset($_POST['submit']))
        {
            $data = array(
            'u_nm' => $this->input->post('u_nm'),
            'pwd' => $this->input->post('pwd'),
            'eid' => $this->input->post('eid'),
            'cno' => $this->input->post('cno'),
            'mbo' => $this->input->post('mbo'),
             );
            $this->register->form_insert($data);
        }
        $this->load->view('register');
    }

  }
在模型中,您可以在插入后返回最后一个插入id

public function form_inssert($data){
   $this->db->insert('register',$data);
   return $this->db->insert_id();
}

这是我的控制器文件

<?php 
  class Register extends CI_Controller{

    public function index()
    {
        $this->load->model('register_insert');
        if(isset($_POST['submit']))
        {
            $data = array(
            'u_nm' => $this->input->post('u_nm'),
            'pwd' => $this->input->post('pwd'),
            'eid' => $this->input->post('eid'),
            'cno' => $this->input->post('cno'),
            'mbo' => $this->input->post('mbo'),
             );
            $this->register_insert->form_insert($data);
        }
        $this->load->view('register');
    }

  }
?>
这是我的模型文件

<?php
class Register_insert extends CI_Model
{
  function __construct() 
  {
    parent::__construct();
  }
  function form_insert($data)
  {
    $this->db->insert('register', $data);
  }
}
?>

我的错误是,我的模型类名命名为Register\u insert,我的旧类名命名为Register,这就是为什么我的模型没有正确加载的原因。

在控制器函数中,如下所示:

public function index()
{
    if(isset($_POST['submit']))
    {
        $data = array(
        'u_nm' => $this->input->post('u_nm'),
        'pwd' => $this->input->post('pwd'),
        'eid' => $this->input->post('eid'),
        'cno' => $this->input->post('cno'),
        'mbo' => $this->input->post('mbo'),
         );
        $this->register_insert->form_insert($data);
        redirect('register');
    }
    $this->load->view('register');
}

}
在模型文件中,如下所示:

function form_insert($data){
   $this->db->insert('register', $data);
   return true;
}

现在尝试此操作,您将获得结果

您可以在查看代码中尝试此操作:

登记 运输署{ 边界:无; } 用户名: 密码: 电邮: 联络电话: 手机号码:
问题是什么?插入不起作用我不能在我的表@GhostIn中插入记录在您的模型中,模型名为Register,但在您的控制器中,您使用的是“Register_insert”。这样可能不行。您需要使用$this->load->modelregister加载模型;如果我是dataarray之前的旧代码中的加载模型,那么它是否正确@PhongPU10在控制器的函数构造中加载模型时,可以在该控制器的任何位置调用模型。如果您不在函数构造中加载模型,则当您需要使用iti时,可以在控制器的每个操作中加载它。在控制器文件中加载我的模型,而不是显示空白页。在控制器文件中的“提交”按钮之前加载模型。。如果我对该行进行了注释,那么它将从中显示,如果我在提交按钮之前加载模型,那么它将显示一个空白页。。
    public function index()
    {
        if(isset($_POST['submit']))
        {
            $data = array(
            'u_nm' => $this->input->post('u_nm'),
            'pwd' => $this->input->post('pwd'),
            'eid' => $this->input->post('eid'),
            'cno' => $this->input->post('cno'),
            'mbo' => $this->input->post('mbo'),
             );
            $this->register_insert->form_insert($data);
        }
        $this->load->view('register');
    }

  }
?>
function form_insert($data){
   $this->db->insert('register', $data);
   return true;
}