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

时间:2017-02-07 08:31:41

标签: php mysql codeigniter

我的控制器出现问题,我返回了我在模型中插入的最后一个ID

public function insert_cropsci($question_data) {    
    $this->db->insert('cropscience_bank', $question_data);
    $questionid =$this->db->insert_id();
    return $questionid;
}

但不知道如何在我的控制器中获取id(仅限id)

我的控制器:

switch ($subject) {
    case 1:
        $this->load->model('insertquestion_model');
        $this->insertquestion_model->insert_cropsci($question_data);
        //I don't know what to do here to get the id(id only)
    break;
}

需要一些帮助。

4 个答案:

答案 0 :(得分:3)

试试这个:

$this->db->insert('table', $data);
$insert_id = $this->db->insert_id();

答案 1 :(得分:1)

分配后你必须在变量中赋值,你才能使用它。

switch ($subject) {
            case 1:
                $this->load->model('insertquestion_model');
                $id = $this->insertquestion_model->insert_cropsci($question_data);
                echo $id;
                break;

答案 2 :(得分:1)

试试这个

switch ($subject) {
case 1:
    $this->load->model('insertquestion_model');
    $id=$this->insertquestion_model->insert_cropsci($question_data);
    $id=$_SESSION['id'];
    // My be you can save as a session, use id in other form
break;

}

答案 3 :(得分:0)

您已经拥有了自己的价值,而不是将其存储在变量中,而是从我看到您的代码中看到的。

switch ($subject) {
    case 1:
        $this->load->model('insertquestion_model');
        $modelId = $this->insertquestion_model->insert_cropsci($question_data);
        // ^^^^^^^^^^^^^^^^^^^^^^^^^ return the $modelId from your controller!
        break;