Codeigniter insert_batch给出错误

时间:2013-12-12 12:29:18

标签: php codeigniter

我正在使用codeigniter的** $ this-> db-> insert_batch('mytable',$ data); **但它给我的错误是:

A PHP Error was encountered

Severity: Warning

Message: array_keys() expects parameter 1 to be array, string given

Filename: database/DB_active_rec.php

Line Number: 1113  

我的控制器代码(只是其中的一部分):

foreach ($arrAllergy as $allergy) {
            $allergyData[] = array(
                "user_id" => $userid,
                "allergy_name" => $allergy
            );

        }
        $this->register_model->addAllergy($allergyData);  

模特:

public function addAllergy($decoded_data) {

  $this->db->insert_batch('allergies', $decoded_data);
}  

我已经搜索了很多这个错误,但没有找到任何解决方案。任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

insert_batch需要

key =>

的值对

key是数据库的列名

,值为值

您的array必须格式化为

Array
(
    [0] => Array
        (
            [column1] => value
            [column2] => value
            [column3] => value
        )

[1] => Array
    (
        [column1] => value
        [column2] => value
        [column3] => value
    )

print_r您的数组,它看起来像什么..