2016-10-05 10 views
0

insert_batchを使用してデータベースに複数の値を挿入しようとしています。しかしそれは私に誤りを示している。Codeigniter insert_batch issue

コントローラー:

public function add() 
    { 
     $data['title'] = $this->input->post('title'); 
     $data['file'] = $this->input->post('file'); 
     $this->user->in(); 
    } 

モデル:

public function in() 
{ 
     $data['title'] = $this->input->post('title'); 
     $data['file'] = $this->input->post('file'); 

     foreach ($title as $key => $n) { 

         $insert = array(
           'title' => $n, 
           'file' => $file[$key] 
           ); 
         // echo $n."->".$file[$key].'<br>' ; 
      } 
      $this->db->insert_batch('title',$insert); //line 42 in user.php (error) 
      // return $query; 
} 

ビュー:

<?php echo form_open('location/add'); ?> 
<div> 
    <input type="text" name="title[]"><br> 
    <input type="text" name="file[]"> 
</div> 
<br><br> 
<div> 
    <input type="text" name="title[]"><br> 
    <input type="text" name="file[]"> 
</div> <br><br> 
<div> 
    <input type="text" name="title[]"><br> 
    <input type="text" name="file[]"> 
</div> 
<input type="submit" name="" value="enter"> 
<?php echo form_close(); ?> 

しかし、私はこれを実行すると、それはshのです私は、このようなエラーにより:

をデータベースエラーは、エントリを更新し、「設定」メソッドを使用する必要があります

を発生しました。

ファイル名:モデル/ User.php

行番号:それは

$insert[] = array(
    'title' => $n, 
    'file' => $data['file'][$key] 
); 

との代わりに、次のようにする必要があります代わりにこの

$insert = array(
    'title' => $n, 
    'file' => $file[$key] 
); 

の47

答えて

1

この

foreach ($title as $key => $n) {... 

使用

foreach ($data['title'] as $key => $n) {.... 
+0

...そんなに弟をありがとう:) – Shihas

+0

@Shihasは、私はこのようなファイルをアップロードしたい場合はどう –

+0

を歓迎? '' – Shihas