CodeIgniter:使用Active Records插入数组时出错

时间:2013-02-01 00:59:06

标签: php mysql codeigniter

尝试在CodeIgniter Active remords的帮助下插入数组。表格只有两列id(autoincrement pk column)value

$ data array我从Google Contact API响应填充。我在这里如何填充控制器中的数组$数据并将其传递给模型

$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') 

我正在使用Codeigniter和XAMPP 1.7.7,它有PHP 5.3.3和MySql 5.0

1 个答案:

答案 0 :(得分:2)

CodeIgniter假设您传递的数组类似于您要设置多行的单行。数组键是列名,值是行中的值。如果要使用ActiveRecord类,则需要多次调用insert,每行一次。

你可能最好还是为这个推出自己的查询。