我正在尝试使用 insert_batch 将多个值插入数据库。但它显示我错误。
Controller :
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(); ?>
但是当我运行它时,它向我显示如下错误:
A Database Error Occurred
You must use the "set" method to update an entry.
Filename: models/User.php
Line Number: 47
最佳答案
而不是这个
$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) {....
关于mysql - Codeigniter insert_batch问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39869493/