如何在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();