簡體   English   中英

如何從插入的行中獲取最后一個ID?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM