死ぬ必要がありますか
まったく逆に、 or die()
するべきではありません これまで。
PHPは遺伝の悪い言語です。非常に悪い遺伝。そしてor die()
エラーメッセージは最悪の基本の1つです:
- dieはエラーメッセージをスローし、潜在的な攻撃者にシステム内部を明らかにします
- 無実のユーザーを奇妙なメッセージで混乱させ、操作するためのインターフェースを残さないため、彼らはおそらく脱落するでしょう。
- 途中でスクリプトが強制終了されるため、表示されるデザインが破れる(またはデザインがまったく表示されない)可能性があります(つまり、ユーザーが要求したページのレンダリングが不完全になる可能性があります)
- スクリプトを回復不能に殺す。スローされた例外をキャッチして適切に処理できます
-
die()
エラーが発生した場所のヒントはありません 。また、比較的大きなアプリケーションでは、見つけるのが非常に困難になります。
したがって、die()
は絶対に使用しないでください。 MySQLエラーの場合、一時的なデバッグの場合でも :もっと良い方法があります。
エラーを手動でチェックする代わりに、接続コードに次の行を追加して、エラー時に例外をスローするようにmysqliを構成するだけです
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
その後、or die
を使用せずに、すべてのmysqliコマンドをそのまま記述します。 または他の何か:
$result = mysqli_query($link, $sql);
このコードはエラーが発生した場合に例外をスローするため、1行の余分なコードがなくても、すべての問題が常に通知されます。
コードをよりクリーンにしながら、エラーレポートの作成を準備し、統一し、全体的に賢明にする方法の詳細については、PHPエラーレポート 。