Codeigniter 使用mvc框架使用面向对象程序插入数据

Codeigniter 使用mvc框架使用面向对象程序插入数据,codeigniter,Codeigniter,我正在尝试将学生添加到数据库中,但这些学生尚未添加到数据库中 控制器的代码如下所示: public function add_student(){ $this->load->model('Stud_Model'); $data=array( 'roll_no'=>$this->input->post('roll_no'), 'name'=>$this->input->post('name'), 'role'=

我正在尝试将学生添加到数据库中,但这些学生尚未添加到数据库中

控制器的代码如下所示:

public function add_student(){
    $this->load->model('Stud_Model');
    $data=array(
    'roll_no'=>$this->input->post('roll_no'),
    'name'=>$this->input->post('name'),
    'role'=>$this->input->post('role'),
    );
    $this->Stud_Model->insert($data);

    $query=$this->db->get("stud");
    $data['records']=$query->result();
    $this->load->view('Stud_view',$data);
}
public function insert($data){
    $this->db->insert('stud',$data);
    if($this->db->insert('stud',$data)){
        return true;
    }
}
<?php
    echo form_open('Stud_controller/add_student');
    echo form_label('Roll No.:');
    echo form_input(array('id'=>'roll_no','name'=>'roll_no','role'=>'roll_no'));
    echo "<br/>";
    echo form_label('name:');
    echo form_input(array('id'=>'name','name'=>'name','role'=>'name'));
    echo "<br/>";
    echo form_label('Role:');
    echo form_input(array('id'=>'roll_no','name'=>'roll_no','role'=>'role'));
    echo "<br/>";
    echo form_submit(array('id'=>'submit','value'=>'Add'));
    echo form_close();
?>
模型的代码如下所示:

public function add_student(){
    $this->load->model('Stud_Model');
    $data=array(
    'roll_no'=>$this->input->post('roll_no'),
    'name'=>$this->input->post('name'),
    'role'=>$this->input->post('role'),
    );
    $this->Stud_Model->insert($data);

    $query=$this->db->get("stud");
    $data['records']=$query->result();
    $this->load->view('Stud_view',$data);
}
public function insert($data){
    $this->db->insert('stud',$data);
    if($this->db->insert('stud',$data)){
        return true;
    }
}
<?php
    echo form_open('Stud_controller/add_student');
    echo form_label('Roll No.:');
    echo form_input(array('id'=>'roll_no','name'=>'roll_no','role'=>'roll_no'));
    echo "<br/>";
    echo form_label('name:');
    echo form_input(array('id'=>'name','name'=>'name','role'=>'name'));
    echo "<br/>";
    echo form_label('Role:');
    echo form_input(array('id'=>'roll_no','name'=>'roll_no','role'=>'role'));
    echo "<br/>";
    echo form_submit(array('id'=>'submit','value'=>'Add'));
    echo form_close();
?>
视图的代码如下所示:

public function add_student(){
    $this->load->model('Stud_Model');
    $data=array(
    'roll_no'=>$this->input->post('roll_no'),
    'name'=>$this->input->post('name'),
    'role'=>$this->input->post('role'),
    );
    $this->Stud_Model->insert($data);

    $query=$this->db->get("stud");
    $data['records']=$query->result();
    $this->load->view('Stud_view',$data);
}
public function insert($data){
    $this->db->insert('stud',$data);
    if($this->db->insert('stud',$data)){
        return true;
    }
}
<?php
    echo form_open('Stud_controller/add_student');
    echo form_label('Roll No.:');
    echo form_input(array('id'=>'roll_no','name'=>'roll_no','role'=>'roll_no'));
    echo "<br/>";
    echo form_label('name:');
    echo form_input(array('id'=>'name','name'=>'name','role'=>'name'));
    echo "<br/>";
    echo form_label('Role:');
    echo form_input(array('id'=>'roll_no','name'=>'roll_no','role'=>'role'));
    echo "<br/>";
    echo form_submit(array('id'=>'submit','value'=>'Add'));
    echo form_close();
?>


1首先:在您的模型中,您要调用两次db insert。只留下一个。然后,如果出现问题,请检查插入的结果:…{return true;}否则{echo“Error in insert”,die;},最后,如果需要,添加$last_sql=$this->db->last_query();echo$sql;要了解您在db中到底在做什么,我做了,但仍然没有发生任何事情,甚至没有显示任何错误。插入数据后您会遇到什么错误?在您的模式中,尝试
$data=array()
公共函数insert($data=array()){
因此,如果您添加了$last\u sql=$this->db->last\u query();echo$last_sql;die;对于debbugging,您得到了什么?实际执行的最后一个查询是什么?