我正在向三个表中添加数据,我需要获取第二个表中使用的第一个表的最后一个ID,这对于$this->db->insert_id()
函数是成功的,尝试使用第二个表仍然给了我第一个表的ID。我的代码的安排是:
function addcrm() {
//Post data collection array from the webform form
$customerdata = array(
"salutation"=>$this->input->post('salutation'),
"mobilenumber"=>$this->input->post('mobilenumber'),
"emailaddress"=>$this->input->post('emailaddress')
);
$this->db->insert('api_customer', $customerdata);
$customer=$this->db->insert_id();
$leaddata = array(
"fieldrep"=>$this->input->post('fieldrep'),
"fk_customerID"=>$customer,
"te"=>$this->input->post('takage'),
"othercost"=>$this->input->post('othercost')
);
$this->db->insert('api_lead', $leaddata);
$leadID = $this->db->insert_id();
for ($i =0; $i<count($_POST['w_product']); $i++){
$productdata = array(
"name" => $_POST['w_product'][$i],
"type" => $_POST['w_type'][$i],
"cost" => $_POST['w_cost'][$i],
"fk_leadID"=> $leadID
);
$this->db->insert('api_prod',$productdata);
}
$url = base_url('cXXXXXXXXXXXXXX);
redirect($url);
}
答案 0 :(得分:0)
在第二次通话中你显然遗漏了一些东西。 ;)
$customer = $this->db->insert_id();
$leadIdD = $this->db->insert_id;
请参阅? :)
答案 1 :(得分:0)
尝试使用以下方法:
$this->db->start_cache(); // Before query
$this->db->stop_cache(); // After query
$this->db->flush_cache(); // Clear query
通过这种方式,您可以进行清晰和刷新的查询。
答案 2 :(得分:-1)
如果您使用自动增量表,可以尝试使用MYSQL_LAST_INSERT_ID(); http://dev.mysql.com/doc/refman/5.0/en/information-functions.html