这是我的控制器代码,它将数据保存在表中但是当我输入超过最大长度的列数据时,它不会重新调用我的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)) ;
}
答案 0 :(得分:0)
你必须抛出异常,它不会为你做这件事。
if ($this->db->affected_rows() > 0){
$status = array("STATUS"=>"true");
}
else {
throw new Exception("Could not insert data");
}
同样插入比列更多的数据可以自动在MySQL中切断,插入实际上不会失败。您应该使用strlen
来检查字符串的长度并手动验证它。