[英]How to get the last id from inserted row?
我正在嘗試獲取要插入到事務表中的主表的ID。 插入發生在循環內。
行為:
控制器:
//Insert Master
foreach($arr_master as $res_master){
/*$data['ID_REQUIREMENT_TRANS'] this is an auto-increment column. Inserted automatically*/
$data['ID_REQUIREMENT'] = $res_master;
$data['SENT_BY_DATE'] = date("Y-m-d H:i:s");
$data['STATUS'] = 1;
$this->MAdmin->ins_assign_pic($data);
//Insert Trans
foreach($arr_trans as $res_trans){
$data_d['ID_REQUIREMENT_TRANS'] = $id; //Need to get the last inserted id of the master table
$data_d['RECEIVED_BY'] = $res_trans;
$data_d['RECEIVED_BY_DATE'] = NULL;
$data_d['STATUS'] = 1;
$this->MAdmin->ins_assign_pic_d($data_d);
}
}
模型:
function ins_assign_pic($data){
$q_ins_assign_pic = $this->db->insert('pm_requirement_assign_pic',$data);
return $q_ins_assign_pic;
$id = $this->db->insert_id();
return $id; //How to send this to my controller
return true;
}
function ins_assign_pic_d($data_d){
$q_ins_assign_pic_d = $this->db->insert('pm_requirement_assign_pic_d',$data_d);
return $q_ins_assign_pic_d;
}
嘗試控制器
$id = $this->MAdmin->ins_assign_pic($data);
和模型
function ins_assign_pic($data){
$q_ins_assign_pic = $this->db->insert('pm_requirement_assign_pic',$data);
//return $q_ins_assign_pic;
$id = $this->db->insert_id();
return $id; //How to send this to my controller
// return true;
}
方式1
SELECT MAX( id ) FROM tableName;
方式二
SELECT tableName.id FROM tableName ORDER BY tableName.id DESC LIMIT 0,1;
您在這里做錯了什么。 一旦在函數中return
調用,它將不再執行。
模型:
function ins_assign_pic($data){
$q_ins_assign_pic = $this->db->insert('pm_requirement_assign_pic',$data);
if($q_ins_assign_pic){
return $this->db->insert_id();
} else {
retun false;
}
}
控制器:
$newID = $this->MAdmin->ins_assign_pic($data);
您可以從表中獲取最大ID:
select max(id) from table
mysqli_insert_id()是您要查找的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.