phpsql-servercodeigniter

How can I detect a create, update, delete query is successful in Codeigniter


I am currently writing a controller method like this:

public function delete($user_id) {
    if ($this->input->server('REQUEST_METHOD')=='POST') {
        $result = $this->Crm_user_model->update($user_id,
                                                array('deleted'=>true));
        if($result) {
            add_flash_message('info', 'deleted');
        } else {
            add_flash_message('alert', 'can not delete');
        }
        //redirect('user/view');
    }
} 

But all result return nothing, even the database(mssql) is changed. How can I know that the update query is success or not?


Solution

  • In crm_user_model->update(), return true or false depending on the output of CodeIgniter's update() function:

    if ($this->db->update('mytable', $mydata)) {
        // Do some stuff
        return true;
    } else {
        // Do some stuff
        return false;
    }
    

    Or if you don't need to do anything else in your model, just do this:

    return $this->db->update('mytable', $mydata);