我有一个插入查询(使用Active Record风格),用来将表单字段插入到MySQL表中。我想要获取插入操作的最后一个自增id作为查询的返回值,但我遇到了一些问题。
在控制器内部:
function add_post(){
$post_data = array(
'id' => '',
'user_id' => '11330',
'content' => $this->input->post('poster_textarea'),
'date_time' => date("Y-m-d 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 的返回结果。
db->insert_id()
在db->trans_complete()
之后会返回false
。确保在完成事务之前获取你的insert_id()
。 - pbarney