codeigniter insert\u批处理问题

bwntbbo3  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(249)

我正在尝试使用insert\u batch向数据库插入多个值。但这让我看到了错误。
控制器:

public function add()
    {
        $data['title'] = $this->input->post('title');
        $data['file'] = $this->input->post('file');
        $this->user->in();
    }

型号:

public function in()
 {
        $data['title'] = $this->input->post('title');
        $data['file'] = $this->input->post('file');

        foreach ($title as $key => $n) {

                        $insert = array(
                                'title' => $n,
                                'file' => $file[$key]
                                );
                        // echo $n."->".$file[$key].'<br>' ;
            }
            $this->db->insert_batch('title',$insert);  //line 42 in user.php (error)
            // return $query;
 }

查看:

<?php echo form_open('location/add'); ?>
<div>
  <input type="text" name="title[]"><br>
  <input type="text" name="file[]">
</div>
<br><br>
<div>
  <input type="text" name="title[]"><br>
  <input type="text" name="file[]">
</div>   <br><br>   
<div>
  <input type="text" name="title[]"><br>
  <input type="text" name="file[]">
</div>
<input type="submit" name="" value="enter">
<?php echo form_close(); ?>

但当我运行它时,它会显示如下错误:
发生数据库错误
必须使用“set”方法更新条目。
文件名:models/user.php
行号:47

iyfamqjs

iyfamqjs1#

而不是这个

$insert = array(
   'title' => $n,
   'file' => $file[$key]
);

应该像下面这样

$insert[] = array(
     'title' => $n,
     'file' => $data['file'][$key]
 );

而不是这个

foreach ($title as $key => $n) {...

使用

foreach ($data['title'] as $key => $n) {....

相关问题