ホームページ > バックエンド開発 > PHPチュートリアル > MySQLi クエリが例外をスローしないのはなぜですか?それを修正するにはどうすればよいですか?

MySQLi クエリが例外をスローしないのはなぜですか?それを修正するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-03 19:12:39
オリジナル
727 人が閲覧しました

Why Aren't My MySQLi Queries Throwing Exceptions, and How Can I Fix It?

MySQLi 例外によるエラー処理の強化

エラー処理を簡素化しようとすると、MySQLi クエリ エラーを例外に変換する際に問題が発生します。 .

問題説明:

カスタム ラッパー クラス内の手続き型 MySQLi 関数と組み合わせて mysqli_report(MYSQLI_REPORT_STRICT) を使用しているにもかかわらず、クエリが失敗しても警告も例外も発生しないため、手動で戻り値をチェックする必要があります。 mysqli_query().

答え:

この問題を解決し、MySQLi に例外をスローさせるには、次のコマンドを使用します。行:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
ログイン後にコピー

説明:

mysqli_report() のデフォルトの動作は、警告とエラーの両方を報告することです。ただし、MYSQLI_REPORT_ERROR フラグを設定すると、MySQLi はエラーのみを報告するように指示され、例外をスローするという望ましい動作と一致します。

重要な注意事項:

毎回ラップすることは避けてください。 try-catch ブロックでクエリを実行します。これは、エラーの大部分を管理するためにサイト全体のエラー ハンドラーを利用することがベスト プラクティスと考えられているためです。特定の場所でそれらを扱うよりも。

以上がMySQLi クエリが例外をスローしないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート