how to get last insert id after insert query in codeigniter active record

后端 未结 9 974
庸人自扰
庸人自扰 2020-11-28 01:59

I have an insert query (active record style) used to insert the form fields into a MySQL table. I want to get the last auto-incremented id for the insert operation as the re

9条回答
  •  没有蜡笔的小新
    2020-11-28 02:29

    Using the mysqli PHP driver, you can't get the insert_id after you commit.

    The real solution is this:

    function add_post($post_data){
      $this->db->trans_begin();
      $this->db->insert('posts',$post_data);
    
      $item_id = $this->db->insert_id();
    
      if( $this->db->trans_status() === FALSE )
      {
        $this->db->trans_rollback();
        return( 0 );
      }
      else
      {
        $this->db->trans_commit();
        return( $item_id );
      }
    }
    

    Source for code structure: https://codeigniter.com/user_guide/database/transactions.html#running-transactions-manually

提交回复
热议问题