2013-12-12 40 views
0

我正在使用codeigniter的** $ this-> db-> insert_batch('mytable',$ data);Codeigniter insert_batch給出錯誤

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); 
} 

我尋覓了很多對於這個錯誤,但沒有找到任何解決方案。任何幫助將不勝感激。

+0

將是一件好事,如果你可以發佈您的解決方案,這一點,如果你得到它解決。 –

回答

1

insert_batch需要

鍵=>值對其中

關鍵是數據庫

和值的列名是

array必須格式化像

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

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

print_r你的陣列,它是什麼樣子..

+0

它只是這樣,但仍然得到這個錯誤。 – user2936213

+0

@ user2936213你如何轉儲它。並讓我們看看?你使用的是什麼CI版本? – tomexsans

+0

我正在使用Codeigniter 1.0 – user2936213