「Mysqli or Die」の危険: PHP での代替エラー処理
mysqli 拡張機能を使用して MySQL データベースと対話する場合、エラーを処理するために「or die」構造を使用するのが一般的です。ただし、このアプローチには、検討する必要があるいくつかの欠点があります。
なぜ「Or Die」は廃止されるべきですか?
「Or Die」の代替
「Or Die」に依存する代わりに、エラー時に例外をスローするように mysqli を設定することを強くお勧めします。 。これは、次のコードで実現できます:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
その後、追加コードなしで MySQL コマンドを実行できます:
$result = mysqli_query($link, $sql);
例外処理
例外が発生した場合、それをキャッチして適切に処理できます。例:
try { $result = mysqli_query($link, $sql); } catch (mysqli_sql_exception $e) { // Log the error in a custom table or file log_error($e->getMessage()); }
カスタム エラー ログ
例外処理に加えて、カスタマイズされたエラー ログ システムを確立することが望ましいです。これにより、専用のテーブルまたはファイルにエラーを記録できるようになり、トラブルシューティングのための集中リポジトリが提供されます。ログ機能は次のように実装できます:
function log_error($message) { // Connect to the error logging table database $error_conn = connect_to_error_logging_db(); // Insert the error message into the error logging table $query = "INSERT INTO error_log (message, timestamp) VALUES ('$message', NOW())"; mysqli_query($error_conn, $query); // Close the error logging database connection mysqli_close($error_conn); }
以上が「mysqli_query() または die()」が悪い習慣である理由と、より良い代替策は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。