[英]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 中使用准備好的語句時如何正確檢查錯誤。 是否有充分的理由手動檢查手冊中顯示的 function 的返回值?
是否有充分的理由手動檢查手冊中顯示的 function 的返回值?
不,沒有。
Mysqli 可以自動檢查錯誤,您只需要求它這樣做。
將 mysqli 配置為在每次出錯時拋出異常,您將不必再手動檢查任何 mysqli function 錯誤!
因此,在mysqli_connect()
之前添加以下行
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
就這樣!
請注意,您必須以正確的方式處理可能出現的錯誤。 您可以在我的文章PHP 錯誤報告中了解它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.