致命的なエラーは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(){} コード内で適切に。