我试图使用insert_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(); ?>
但是当我运行它时,它会向我显示这样的错误:
发生数据库错误
你必须使用&#34; set&#34;更新条目的方法。
文件名:models / User.php
行号:47
答案 0 :(得分:1)
而不是这个
$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) {....