gpt4 book ai didi

php - CodeIgniter 中的数据库错误处理问题

转载 作者:行者123 更新时间:2023-11-29 01:47:22 24 4
gpt4 key购买 nike

我使用 CodeIgniter 作为我的 Web 应用程序框架。我使用了一个简单的 Try/Catch 并发送了一个样本值来测试它,但它失败了!

我知道我可以使用 $this->db->e​​scape() 函数来解决我的数据问题,但我只想知道:为什么 TRY/CATCH 无法捕捉到这个错误!

Controller 代码:

    $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'

让我知道,如果我错了,请告诉我!

最佳答案

如果有一些 mysql 错误,你需要抛出一个异常:

try {
$query_str = "SELECT * FROM tbl_user WHERE username = '".$username."'";
$result = $this->db->query($query_str);

if (!$result)
{
throw new Exception('error in query');
return false;
}

return $result;

} catch (Exception $e) {
return;
}

关于php - CodeIgniter 中的数据库错误处理问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3418254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com