Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从插入的行中获取最后一个id?_Php_Mysql - Fatal编程技术网

Php 如何从插入的行中获取最后一个id?

Php 如何从插入的行中获取最后一个id?,php,mysql,Php,Mysql,我正在尝试将主表的ID插入到事务表中。插入发生在循环内部 行为: 插入母版 取得身份证 插入事务 插入母版 取得身份证 插入事务 控制器: //Insert Master foreach($arr_master as $res_master){ /*$data['ID_REQUIREMENT_TRANS'] this is an auto-increment column. Inserted automatically*/ $data['ID_REQUIREMENT'

我正在尝试将主表的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;
}
尝试控制器

$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

方式2

方式1

方式2


你在这里没做错什么。 一旦
返回
调用函数,它将不再执行

型号:

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);

你在这里没做错什么。 一旦
返回
调用函数,它将不再执行

型号:

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

您可以从表中获取最大id:

select max(id) from table


mysqli\u insert\u id()是您要查找的函数。

mysqli\u insert\u id()是您要查找的函数。

MAX(id)
始终是最后一个插入的id??即使在id中有删除/更改?在这种情况下,最好使用方式2Is
MAX(id)
始终是最后插入的id??即使在id中有删除/更改?在这种情况下,最好使用方式2
$newID=$this->MAdmin->ins\u assign\u pic($data)给我主数据中的双重数据。如果我使用
$newID=$this->MAdmin->ins\u assign\u pic(),仅插入主数据中的一个数据。为什么?显示您的响应。什么响应??
$newID=$this->MAdmin->ins\u assign\u pic($data)给我主数据中的双重数据。如果我使用
$newID=$this->MAdmin->ins\u assign\u pic(),仅插入主数据中的一个数据。为什么?显示您的响应。什么响应??
$id=$this->MAdmin->ins\u assign\u pic($data)给我主数据中的双重数据。如果我使用
$id=$this->MAdmin->ins\u assign\u pic($data),仅插入主数据中的一个数据。为什么?也许你想看看
foreach($res\u master为$res\u master){
的原因…@ashura91如果我使用其他值,例如:1作为“$data\u d['ID\u REQUIREMENT\u TRANS']`。数据插入是完美的。我认为它不是foreach。@ashura91我给出的是标准方法。。进一步注意,如果您的
foreach
有2个值,那么将插入2行,如果有1行,那么将插入1行…:)1个问题,尽管您为什么要在父
foreach
之外定义
arr\u trans
$id=$this->MAdmin->ins_-assign_-pic($data);
在主数据中给我两个数据。如果我使用
$id=$this->MAdmin->ins_-assign_-pic($data);
,主数据中只插入一个数据。为什么?也许你想查看
foreach($arr_-master as$res-master){
。@ashura91如果我使用其他值,例如:1作为`$data\d['ID\U要求\U传输']`。数据插入是完美的。我认为它不是foreach。@ashura91我给出的是标准方法。。进一步说明,如果您的
foreach
有2个值,那么将插入2行,如果有1行,那么将插入1行…:)1个问题,尽管您为什么在父
foreach
之外定义
$arr\u trans
…是的,但是如何发送要在我的controllerreturn$this->db->insert_id();中使用的变量将返回id。然后您可以将其设置为:$myid=myfunction();然后您可以在变量$myid中使用插入的id。是的,但是如何发送要在我的controllerreturn$this->db->insert_id();将返回id。然后您可以将其设置为:$myid=myfunction();然后可以在var$myid中使用插入的ID。