sql >> データベース >  >> RDS >> Mysql

mysqliまたは死ぬ、それは死ぬ必要がありますか?

    死ぬ必要がありますか

    まったく逆に、 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エラーレポート



    1. ORA-06508:PL / SQL:呼び出されているプログラム・ユニットが見つかりませんでした

    2. SpringBootテスト用のEmbeddedPostgres

    3. USER()とSYS_CONTEXT('USERENV'、'CURRENT_USER')の違いは何ですか?

    4. SQL Serverでの日付と時刻のデータ型間の変換(T-SQLの例)