如何在codeigniter活动logging中插入查询后获取最后一个插入ID

我有一个插入查询(活动logging样式)用于插入表单字段到MySQL表中。 我想获取插入操作的最后一个自动递增的ID作为我的查询的返回值,但我有一些问题。

控制器内部:

function add_post(){ $post_data = array( 'id' => '', 'user_id' => '11330', 'content' => $this->input->post('poster_textarea'), 'date_time' => date("Ymd H:i:s"), 'status' => '1' ); return $this->blog_model->add_post($post_data); } 

和内部模型:

 function add_post($post_data){ $this->db->trans_start(); $this->db->insert('posts',$post_data); $this->db->trans_complete(); return $this->db->insert_id(); } 

我没有得到任何模型中的add_post的返回

尝试这个

 function add_post($post_data){ $this->db->insert('posts', $post_data); $insert_id = $this->db->insert_id(); return $insert_id; } 

如果有多个插入,你可以使用

 $this->db->trans_start(); $this->db->trans_complete(); 

这里不需要交易,这应该足够了:

 function add_post($post_data) { $this->db->insert('posts',$post_data); return $this->db->insert_id(); } 
 $id = $this->db->insert_id(); 

从文档 :

$这个 – > DB-> INSERT_ID()

执行数据库插入时的插入ID号。

因此,你可以使用这样的东西:

 $lastid = $this->db->insert_id();