MySQLi プリペアド ステートメントのエラー報告の再考
MySQLi プリペアド ステートメントを使用する場合、開発者はプリペアド ステートメントの戻り値がエラーのみを検出するのではないかと疑問に思うかもしれません。ステートメントの準備中または実行中。この記事では、この問題を詳しく掘り下げ、洞察を提供し、混乱に対処します。
エラーの検出
デフォルトでは、prepare ステートメントの戻り値は、ステートメントの準備中にエラーが発生したかどうかを示します。 。実行エラーをキャプチャするには、開発者は次の構文を使用する必要があります:
if ($stmt_test->execute()) { $errorFlag = true; }
ただし、エラーは PHP 例外としてスローされるため、ステートメントの実行後に $stmt_test->errno を確認する必要はありません。
エラー報告の設定
包括的なレポートを有効にするにはエラーを報告するには、接続コードで次の行を実行します:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
これにより、エラーの戻り値をテストする必要がなくなります。代わりに、開発者は準備されたステートメントを単純に実行できます。
$stmt = $mysqli->prepare("INSERT INTO testtable VALUES (?,?,?)"); $stmt->bind_param('iii', $x, $y, $z); $stmt->execute();
エラーが発生すると、PHP 例外がスローされ、エラーの処理または報告が可能になります。
エラーの可視性の確保
エラーの可視性を確保するには、PHP エラー報告が設定されていることを確認してください適切に:
これらの推奨事項に従うことで、開発者はMySQLi プリペアド ステートメントを使用する際のエラーを効果的に管理し、データベース操作をスムーズに実行できるようにします。
以上がMySQLi プリペアド ステートメントは、準備中および実行中にどのようにエラーを処理し、報告するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。