ホームページ >バックエンド開発 >PHPチュートリアル >MySQL が「クエリ/準備されたステートメントでインデックスが使用されていません」という警告を報告し、PHP で致命的なエラーを引き起こすのはなぜですか?
エラー: "クエリ/準備されたステートメントでインデックスが使用されていません"
インデックスを使用しない SQL クエリを実行すると、MySQL が「クエリ/準備されたステートメントでインデックスが使用されていません」という警告を発行します。この警告は、テーブルに適切なインデックスを追加することでクエリのパフォーマンスが向上する可能性があることを示唆しています。
提供された PHP コードでは、警告にもかかわらず、致命的なエラーは MySQL に関連していません。代わりに、この問題は次の要因によって発生します。
この問題に対処するには、次の 2 つのオプションがあります:
オプション 1: MySQLi レポートを調整する
mysqli_report() 設定を変更して警告を除外できます。たとえば、次のように使用できます:
<code class="php">mysqli_report(MYSQLI_REPORT_STRICT); // Report errors only mysqli_report(MYSQLI_REPORT_OFF); // Disable all reporting</code>
オプション 2: 例外の処理
または、データベース コードを try{ で囲むことによって、例外を適切に処理できます。 } ブロックを作成し、catch(){} ブロックで mysqli_sql_Exception 例外をキャッチします。これにより、致命的になることなくエラーを適切に処理できます:
<code class="php">try { // Database code, including prepare, execute, etc. } catch (mysqli_sql_exception $e) { // Handle the exception here. }</code>
以上がMySQL が「クエリ/準備されたステートメントでインデックスが使用されていません」という警告を報告し、PHP で致命的なエラーを引き起こすのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。