Php 无法将记录插入CodeIgniter中的数据库
我是CodeIgniter的初学者。我想在数据库中插入记录。这是我的视图文件。我将视图文件保存为register.php,将模型文件保存为register\u insert.php,将控制器文件保存为register.php,在mysql中,我的表名为register 看法 这是我的模型文件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();
<?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;
}