提问人:plsankar 提问时间:6/5/2020 最后编辑:Braiamplsankar 更新时间:2/9/2022 访问量:692
调用“mysqli_stmt_prepare”时是否应该手动检查错误?
Should I manually check for errors when calling "mysqli_stmt_prepare"?
问:
我正在使用 PHP 和 mysqli 预准备语句。是否有令人信服的理由在执行时手动检查错误?更具体地说,我不是在问最终结果,只是在问准备语句行。mysqli_stmt_prepare()
$sql = "SELECT * FROM `users`;";
$stmt = mysqli_stmt_init($db);
mysqli_stmt_prepare($stmt, $sql); // How should I check for error in here
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
PHP 手册将这一行和仅这一行放在语句中。if
$sql = "SELECT * FROM `users`;";
$stmt = mysqli_stmt_init($db);
if (mysqli_stmt_prepare($stmt, 'SELECT * FROM `users`;')) {
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
}
我想知道在mysqli中使用预准备语句时如何正确检查错误。是否有充分的理由手动检查手册中所示的该函数的返回值?
答:
4赞
Your Common Sense
6/5/2020
#1
是否有充分的理由手动检查该返回值 手册中显示的功能?
不,没有。
Mysqli 可以自动检查错误,您只需要要求它这样做。
将 mysqli 配置为每次出现错误时都会抛出异常,您不必再手动检查任何 mysqli 函数的错误了!
因此,请在mysqli_connect()
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
仅此而已!
请注意,您必须以正确的方式处理可能的错误。你可以在我的文章中读到它, PHP错误报告
评论