2012-03-12 30 views
0

こんにちは、私はcodeigniterを使用しています。私はinsert_batch関数を使用しています。私はこのなぜcodeigniterでinsert_batchを使用できないのですか?

enter image description here

のように私はこれがなぜ起こるかinsert_batch機能に

Array 
(
    [0] => Array 
     (
      [ProfileID] => 5 
      [ActivityTypeID] => 4 
      [ActivityTitle] => bbggg 
      [ActivityLink] => http://localhost/elephanti2/home/user/action/settings/user/profilesettings 
      [IsActive] => 1 
      [CreatedOn] => 1331532905 
      [CreatedBy] => 5 
     ) 

    [1] => Array 
     (
      [ActivityImage] => 
      [ActivityTitle] => kkkkkkkk 
      [ActivityFromDate] => 1330642800 
      [ActivityToDate] => 1331852400 
      [ActivityDescription] => kkkkkkkkkkkkkkkk 
      [ActivityLink] => 
      [CreatedOn] => 1331532905 
      [CreatedBy] => 5 
      [ProfileID] => 5 
      [ActivityTypeID] => 1 
     ) 

) 

エラーが

enter image description here

を与えられている。このような配列を使用していますテーブル構造を持っている

私は別のキーを持つ配列を使用できません???????

INSERTVALUESフォームを使用してSQLクエリに..............おかげで事前に

+0

コードネームコードは正確ですか? – linuxeasy

+0

@linuxeasyシンプルなコード$ this-> db-> insert_batch( 'mytable'、$ data); –

+0

配列をチェックしてください。指定された方法ではないので、列名はSQL文では空で、2番目の値には配列が含まれています。 –

答えて

3

insert_batch翻訳を助けてください。これは、同じ項目を指定するために挿入されるすべての項目を必要とします。 「システムの\データベース\ DB_query_builder:

0

は、私は、ファイルDB_query_builder.php、パス内のコードを置き換え、変更後の私の問題に、ファイル内のコードの行「システム\データベース\ DB_query_builder.php」

を修正しました以下のコードにより、.PHPは」

protected function _insert_batch($table, $keys, $values) 
{ 
return 'INSERT INTO '.$table.' ('.implode(', ', $keys).') VALUES '.implode(', ', $values); 
} 

protected function _insert_batch($table, $keys, $values) 
{ 
if(is_array($values)) 
{ 
$values = implode(',',$values); 
} 
return 'INSERT INTO '.$table.' ('.implode(', ', $keys).') VALUES '.implode(', ', $values); 
} 

私はこの方法で私の問題を解決してきました。希望、同じことがあなたのために働くでしょう。

+0

フレームワークのコアクラスを編集するのではなく、あなたのクラスで。 http://www.codeigniter.com/user_guide/general/core_classes.html#extending-core-class –

関連する問題