如何使用codeigniter将多个数组插入数据库

时间:2015-12-31 09:27:02

标签: php arrays codeigniter

我已发布值$ a,$ b,$ c ...是数组格式  模型文件我给了这个。

 function insert_bank_data($da,$b,$c,$d,$e)
    {

        $data=array('date'=>$da,'des'=>$b,'amount'=>$c,'price'=>$d);
        $this->db->insert_batch('total_trans',$data);


}

我收到这样的错误。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22' at line 1

3 个答案:

答案 0 :(得分:1)

您可以使用json_encode()

function insert_bank_data($da,$b,$c,$d,$e)
{

    $data=array('date'=>json_encode($da),'des'=>json_encode($b),'amount'=>json_encode($c),'price'=>json_encode($d));
    $this->db->insert_batch('total_trans',$data);

}

答案 1 :(得分:0)

如果函数的参数是相同长度的数组,则应编写

function insert_bank_data($da,$b,$c,$d,$e)
{
  $data = array();
  for ($i-0; $i < count($da); $i++) {
    $data[] = array('date'=>$da[$i],'des'=>$b[$i],'amount'=>$c[$i],'price'=>$d[$i]);
  $this->db->insert_batch('total_trans',$data);
}

答案 2 :(得分:0)

您也可以使用它......

function insert_bank_data($da,$b,$c,$d,$e)
{

    for ($i=0; $i < count($da); $i++) {
        $data= array('date'=>$da[$i],'des'=>$b[$i],'amount'=>$c[$i],'price'=>$d[$i]);
        $this->db->insert('total_trans',$data);
    }
}