Невозможно поймать исключение с помощью воспламенителя кода - PullRequest
0 голосов
/ 27 января 2011

Это мой код контроллера, который сохраняет данные в таблице, но когда я помещаю данные столбца больше максимальной длины, он не переустанавливает меня. STATUS false; ничего не происходит. пожалуйста помогите

function saveImproveUs(){   

        $status =array("STATUS"=>"false");

        try{
            $improveUs = array(
                'NAME' => trim($this->input->post('name')),
                'EMAIL' => trim($this->input->post('email')),
                'LOCATION' =>  trim($this->input->post('location')),
                'MESSAGE_TYPE' => trim($this->input->post('messageType')),
                'COMMENTS' => trim($this->input->post('comments'))
            );
            // Save improve us 
            $this->db->insert('trn_improve_us', $improveUs);

            if ($this->db->affected_rows() > 0){
                $status = array("STATUS"=>"true");
            }

        }catch(Exception $ex)        {
            //show_error($ex);
            echo "I am in exception";
            exit;
        }
        echo json_encode (array($status)) ; 
    }

1 Ответ

0 голосов
/ 27 января 2011

Вы должны выбросить исключение, оно не сделает этого за вас.

if ($this->db->affected_rows() > 0){
    $status = array("STATUS"=>"true");
}
else {
    throw new Exception("Could not insert data");
}

Кроме того, вставка большего количества данных, чем может выдержать столбец, автоматически отключит MySQL, вставка выигралана самом деле не удается.Вы должны использовать strlen, чтобы проверить длину строки и проверить ее вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...