Я использую CodeIgniter в качестве рамки веб-приложения. Я использовал простой Try/Catch, и я отправил пробное значение, чтобы проверить его, и он не сработал!Проблема с обработкой ошибок базы данных в CodeIngniter
Я знаю, что могу использовать функцию $this->db->escape()
для решения моей проблемы с данными, но я просто хочу знать: почему TRY/CATCH не может поймать эту ошибку!
Controler код: Код
$this->load->model('user_model');
$result = $this->user_model->test_user("tes'ti");
Модель:
function test_user($username){
try {
$query_str = "SELECT * FROM tbl_user WHERE username = '".$username."'";
$result = $this->db->query($query_str);
return $result;
} catch (Exception $e) {
return;
}
}
Выход:
A Database Error Occurred
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ti'' at line 1
SELECT * FROM tbl_user WHERE username = 'tes'ti'
Позвольте мне знать, где я допустил ошибку, если бы я сделал!
Благодарим вас за внимание и помощь другим. ;)
Спасибо Sarfraz, я сделал ваши рекомендации, но он снова не сработал! у вас больше идей ?! – Monica
@Monica: Какая ошибка/выход произошли, когда вы это сделали? – Sarfraz
Я упомянул об ошибке в выходной части моего вопроса ...;) – Monica