MySQLi プリペアド ステートメントでのエラー レポート
MySQLi を使用する場合、エラー レポートを理解することが重要です。この記事では、'prepare' ステートメントの戻り値の微妙な違いを詳しく掘り下げ、追加のエラー処理の必要性について検討します。
'prepare' の戻り値は、SQL ステートメントの準備が成功したかどうかを示すだけです。実行エラーを検出するには、さらなる対策が必要です。 「execute」呼び出しを次のコードに置き換えることで、実行エラーにフラグが立てられるようになります。
if($stmt_test->execute()) { $errorflag = true; }
さらに、ステートメントの実行後に、「errno」をチェックし、ゼロ以外の場合は「errorflag」をリセットすることで、包括的なエラー キャプチャが提供されます。
if($stmt_test->errno) { $errorflag = true; }
ただし、より簡潔で包括的なアプローチは、接続内の次の行を使用してエラー報告を有効にすることです。コード:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
この設定により、すべてのエラーが PHP 例外として報告されるようになり、細心の注意を払って手動でエラー チェックを行う必要がなくなります。
$stmt = $mysqli->prepare("INSERT INTO testtable VALUES (?,?,?)"); $stmt->bind_param('iii', $x, $y, $z); $stmt->execute();
適切な PHP エラー報告設定を使用すると、エラー開発環境または運用環境の設定に従って表示または記録されます。
以上がMySQLi プリペアドステートメントのエラーを効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。