の継続的な実行。エラーメッセージを出して残りのスクリプトを実行し続けるにはどうすればいいですか?接続に失敗しても、残りのスクリプトは影響を受けないためです。エラー処理とPHPスクリプト
答えて
元の質問のタイトルの点では - できません。 die
およびexit
の目的は、スクリプト処理を終了することです。スクリプトの処理を終了しない場合は、die
またはexit
を呼び出しないでください。
エラーの出力を抑制する観点からは、error control operator(@
)を使用することができますが、お勧めできません。 (あなたは、このようにエラーを抑制している場合は、は、エラーのためチェックは自分自身を述べなければなりません。)
はたとえば、あなたが使用できます。
$result = @mysql_query($sql);
if(is_resource($result)) {
// The query worked...
}
else {
// Handle error state, perhaps using mysql_error
}
をしかし、これだけ明確な、を作るためにNEVERエラーサプレッサーを関数呼び出しに追加します。あなた必ずあなた自身が正しく潜在的なエラーを処理していることを確認してください。
あなたは、本番環境で、とにかくやりたいエラー報告をオフにすることができますするmysql_query
$result = mysql_query($sql);
if ($result===false) {
echo 'The Query failed';
}
//> Continue
の戻り値の型を確認してください。
error_reporting(0);
これでもエラーは発生しますが、表示されなくなります。
これは非常に珍しいことですが、私は、なぜ誰かがmySQLエラーを受け入れることを望む理由を考えることはできません - 問題がSQLに壊れている場合は、通常は事前にそれをキャッチします。
$result = mysql_query($sql) or print("error with responses");
エコーは、あなたが何をしようとして、論理比較に使用することはできません。代わりにprintを使用してください。PHPエラーは発生しません。
2番目の関数呼び出しとしてdie
を使用する必要はありません。ほとんどすべてのmysql_query
チュートリアルのコンベンションとして使用されています。
ブール式を評価するだけです。 $result = $a OR $b
。 $a
の値がtrueの場合は、必ずしも$b
を実行することはありません。我々は論理OR
を満足しています。オペレータの片側が真であり、それだけで十分です。
die()機能は、すぐにメッセージでスクリプトを終了します。あなたは終了せず、かなりのエラーメッセージを出力し、スクリプトを続行するために、独自の機能でそれを置き換えることができ、例えば:。
function my_error_function($status) {
echo "ERROR: $status";
}
$result = mysql_query($sql) or my_error_function("Uhoh. There was a problem executing $sql.");
- 1. PHPエラー処理
- 2. PHP DOMDocumentエラー処理
- 3. MySql、PHPエラー処理
- 4. Powershell:スクリプトのエラー処理
- 5. Vbスクリプトでのエラー処理
- 6. Groovyスクリプトのエラー処理
- 7. PHP MySQLエラーのログと処理 - ベストプラクティス
- 8. PHP DateTime例外とエラー処理
- 9. foreachでのエラー処理と爆発PHP
- 10. PHPファイルの処理とのfreadエラー
- 11. PHPクラスのエラー処理
- 12. PHPのストライプエラー処理エラー
- 13. PHPでのエラー処理
- 14. json_encodeエラー処理PHP OOP
- 15. PHPファイル()エラーを処理
- 16. PHPクラスでのエラー処理
- 17. PHPでのDBエラー処理
- 18. unixでのエラー処理サブシェルスクリプト用のスクリプト
- 19. Pythonスクリプトでの例外処理エラー。
- 20. Php:ファイル処理とダウンロード操作を1つのスクリプトで処理する方法は?単一のスクリプトで
- 21. エラー処理とエラーオブジェクト
- 22. エラー処理と対象処理の例外処理の比較
- 23. imagecreatefrompngエラー - 検出と処理の方法は?私のスクリプトで
- 24. PHPからのAJAXエラー処理
- 25. PHPのアプリケーションレベルのエラーを処理する
- 26. HTMLメールテンプレートファイルとPHPの処理
- 27. RxSwiftとMVVMの処理エラー
- 28. WebRequestとNode.js - エラー処理
- 29. プリペアドステートメントとbind_paramエラー処理
- 30. Laravel 5.2.29 $エラー処理とリクエストファイル
質問のタイトルは、ほぼ私に動脈瘤を与えました。 – Charles
これは、ビュー/レスポンスを取得するタイトルです。通常、致命的なエラー(構文エラーなど)は、スクリプトを強制終了するだけです。あなたが持っている特定のエラーメッセージは何ですか? – Wige
実際には面白いですが、尋ねられた質問のリストを見てから私のタイトルには気をつけませんでした。私はmysqlエラーのためにスクリプトを終了させたくありませんでした。 dbからデータを取得できない場合でも、残りのスクリプトを実行したかったのです。 – netrox