在表格中保存数据时出错(codeigniter)

时间:2017-03-30 12:34:39

标签: php mysql codeigniter fetch

Everthing似乎在我的代码上正常工作,但是当我想添加一个新主题时,我填写不同的字段,我点击"保存"按钮AND我收到此错误:

  

发生数据库错误
  错误号码:1054
  未知专栏' carrera'在'字段列表'
  INSERT INTO`materias`(`carrera`,`materia`,`descripcion`,`carga_horaria`)VALUES(' 5',' Calculus',' dfsfsdfsd' ,' 2')
  文件名:C:/xampp/htdocs/NUEVO_PROJECTO/crud/system/database/DB_driver.php
  行号:691

我获得了两张桌子:" materias"和" carreras"

  • " materias"包括(id,carrera_id(是列的外键" id"表" carreras")nombre,descripcion,carga_horaria)

  • "卡雷拉斯"包括(id,nombre,descripcion)。

这是我的控制器文件(仅限保存功能):

public function save() {
    $txtcarr = $this->input->post("txtcarr");
    $txtmat = $this->input->post("txtmat");
    $txtdesc = $this->input->post("txtdesc");
    $txtcarga = $this->input->post("txtcarga");

    $this->Crudmodel->save($txtcarr, $txtmat, $txtdesc, $txtcarga);
    redirect('Home/index');
}

这是我的crudmodel文件(仅限保存功能):

public function save($txtcarr, $txtmat, $txtdesc, $txtcarga) {
    $data = array(
        'carrera' => $txtcarr,
        'materia' => $txtmat,
        'descripcion' => $txtdesc,
        'carga_horaria' => $txtcarga
    );
    $this->db->insert('materias', $data);
}

我的" ADD"功能:

<?php include('footer.php'); ?>

<div class="container"> 
    <div class="row">
        <div class="col-md-12">
            <h2 align="center">AGREGAR MATERIA</h2>
            <form method="post" action='<?php echo site_url('Home/save'); ?>'>
    <tr>

        <td>
            <select name="txtcarr">
                <?php foreach($carreras as $item):?>
                <option value="<?php echo $item->id;?>"><?php echo $item->nombre;?></option>
                 <?php endforeach;?>
            </select>
        </td>
    </tr>
    <tr>
        <td>Materia : </td>
        <td><input type="text" name="txtmat"/></td>
    </tr>
    <tr>
        <td>Descripcion : </td>
        <td><textarea name="txtdesc"></textarea></td>
    </tr>
    <tr>
        <td>Carga horaria : </td>
        <td><input type="text" name="txtcarga" /></td>
    </tr>
    <tr>
        <td></td>
        <td><input type="submit" value="save" /></td>
    </tr>
        <table class="table table-hover" align="center" border="0" cellspacing="0" cellpadding="0" width="300">

        </table>
        </div>
    </div>
</div>

希望你能帮助我!

1 个答案:

答案 0 :(得分:1)

这个错误意味着你没有列&#34; carrera&#34;在你的表中,所以你需要将它添加到datatbase中的表中,或者你可能在那里拼写错误。