0

CodeIgniter Active レコードを使用して配列を挿入しようとしています。テーブルには と の 2 つの列しかありませid(autoincrement pk column)value

$data 配列 Google Contact API 応答から入力しています。ここで、コントローラーに配列 $data を入力し、それをモデルに渡す方法

$val = $client->getIo()->authenticatedRequest($req);//Getting response from Google Contact API.
$xml = simplexml_load_string($val->getResponseBody());
$result = $xml->xpath('//gd:email');  //Fetching email addressed from the response
foreach ($result as $title) {
            array_push($gmailContacts, mysql_real_escape_string($title->attributes()->address));
 }
$this->load->model('gmailContacts');
$this->gmailContacts->saveContacts($gmailContacts);


モデルコードは

  function saveGmailContacts($data=array()) 
  {
    $this->db->insert('contact_table',$data);
  }

エラーは

Error Number: 1054

Unknown column '0' in 'field list'

INSERT INTO `importedgmailcontacts` (`0`, `1`, `2`, `3`, `4`, `5`)VALUES ('VALUE1', 'VALUE2', 'VALUE3','VALUE4', 'VALUE5') 

PHP 5.3.3とMySql 5.0を含むXAMPP 1.7.7でCodeigniterを使用しています

4

1 に答える 1

2

CodeIgniterは、そのような配列を渡すときに、複数の列を持つ単一の行を設定していると想定します。配列キーは列名であり、値は行に入るものです。ActiveRecordクラスを使用する場合は、各行に1回ずつ、複数回insertを呼び出す必要があります。

このクエリに対して独自のクエリをロールする方がよいでしょう。

于 2013-02-01T01:35:23.540 に答える