调用“mysqli_stmt_prepare”时是不是应该手动检查错误? [复制]
Posted
技术标签:
【中文标题】调用“mysqli_stmt_prepare”时是不是应该手动检查错误? [复制]【英文标题】:Should I manually check for errors when calling "mysqli_stmt_prepare"? [duplicate]调用“mysqli_stmt_prepare”时是否应该手动检查错误? [复制] 【发布时间】:2022-01-16 00:43:22 【问题描述】:我正在使用 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 manual 在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 中使用准备好的语句时如何正确检查错误。是否有充分的理由手动检查该函数的返回值,如手册中所示?
【问题讨论】:
【参考方案1】:是否有充分的理由手动检查它的返回值 功能如手册中所述?
不,没有。
Mysqli 可以自动检查错误,您只需要求它这样做。 配置mysqli每次出错时抛出异常,再也不用手动检查任何mysqli函数的错误了!
因此,在mysqli_connect()
之前添加以下行
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
仅此而已!
请注意,您必须以正确的方式处理可能出现的错误。你可以在我的文章PHP error reporting
【讨论】:
以上是关于调用“mysqli_stmt_prepare”时是不是应该手动检查错误? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
abstract的方法是否可同时是static,是否可同时是native,是否可同时是synchronized?
转载:abstract的方法是否可同时是static,是否可同时是native,是否可同时是synchronized?
delphi7中调用了fortran编写的dll,之前用XP系统时是可以运行出结果的,但是现在换到win7了,不能用了。