在Codeigniter中更新多行

时间:2012-09-02 19:11:20

标签: php sql codeigniter sql-update

我可以在数据库中插入多行,但问题是当我尝试更新它时会给我一个Codeigniter错误消息。这是我的模型,实际上我在控制器中找不到任何重要的错误,因为我只是在控制器中加载该模型。

$data  = array();
//$todayDate = date('Y-m-d');
for($i = 1; $i < count($_POST['code']); $i++) {
    //$code=$_POST['code'][$i];
    if($_POST['code'][$i] != '') {
        $data[] = array(
            $code='code' => $_POST['code'][$i],
            'price' => $_POST['sell']
            );
    }
}
$linksCount = count($data);

if($linksCount) {
    $this->db->where('code',$code);
    $this->db->insert_batch('sell_rate', $data);
}

return $linksCount;

1 个答案:

答案 0 :(得分:3)

Model后续部分应

$data[] = array(
    $code='code' => $_POST['code'][$i],
    'price' => $_POST['sell']
);

替换为

$data[] = array(
    'code' => $_POST['code'][$i],
    'price' => $_POST['sell']
);

并更新您应使用update_batch代替insert_batch

的值
$this->db->update_batch('yourtableName', $data, 'code'); // 'code' is where key

yourtableName替换为原始表名,code用于where密钥,因此您无需使用$this->db->where('code',$code)

参考: CodeIgniter