我应该在调用“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 中使用准备好的语句时如何正确检查错误。是否有充分的理由手动检查手册中显示的该函数的返回值?


三国纷争
浏览 96回答 1
1回答

Cats萌萌

是否有充分的理由手动检查手册中显示的该函数的返回值?不,没有。Mysqli 可以自动检查错误,你只需要让它这样做。将 mysqli 配置为在每次出错时抛出异常,您将不再需要手动检查任何 mysqli 函数以查找错误!因此,在之前添加以下行mysqli_connect()mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);就这样!请注意,您必须以正确的方式处理可能的错误。
打开App,查看更多内容
随时随地看视频慕课网APP