致命的なエラーはMySQLにはありません。インデックスの欠落通知は、比較的重大度の低い警告です。
致命的 次の3つの条件が原因で、PHPコードにエラーがあります。
- mysqliはロットを報告します 比較的無害な状態であっても、警告の数。
-
mysqli_sql_exception
をスローしています すべてのエラーおよびmysqli_report(MYSQLI_REPORT_ALL);
による警告 行。 - PHPコードがその例外をキャッチしていません(つまり、
try{}
に含まれていません 適切なcatch(){}
でブロックする ブロック)、およびキャッチされない例外は致命的です。
他の答えで述べられているように、あなたは最初のものについて多くをすることはできません。したがって、mysqli_report(...)
を変更することで修正できます。 MYSQLI_REPORT_STRICT
に設定 またはMYSQLI_REPORT_OFF
、または実際にMYSQLI_REPORT_ALL
以外のもの 。
(編集:以下のw3dのコメントは、その理由を説明し、mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT)
を使用できることを示唆しています。 良い代替手段として)
ベストプラクティスについては、これと組み合わせて、try{}
を使用して適切に修正する必要があります。 およびcatch(){}
コード内で適切に。