mysqlエラーとクエリが成功しなかった場合に実行されるクエリを電子メールで送信するデバッグ機能を作成しました。mysql_queryが成功しなかった場合にエラーを表示する
私はこのようにそれを呼び出す:
mysql_query($sql) or $this->debug->dbErrors($sql);
と機能は次のとおりです。
function dbErrors($sql = ''){
if($this->doDebug)
echo mysql_error()."<br/>".$sql;
else
@mail(hidden_email,$_SERVER['HTTP_HOST'].' Mysql Error','A error occured in '.$_SERVER['HTTP_HOST'].':<br/>'.mysql_error().'<br/>'.$sql);
}
問題は、クエリが正常に実行される場合でも、私は電子メールを受信していますということである(少なくともデータがあります挿入され、すべて正常に動作します)
何が間違っていますか?
$result = mysql_query($sql);
if (!$result) {
$this->debug->dbErrors($sql);
}
あなたは($結果がブール偽であるかどうかを確認するために、明示的なチェックを行っている。この方法は:構築物は、問題を引き起こしている可能性「や」
おかげ
ます$ this-何ですか> doDebug? –
あなたに送信された電子メールにエラーが発生しましたか? –
@AurelioDeRosa doDebugは、開発やプロダクションの状態によってエラーがどのように表示されるかをモードに設定するための単なるphp varです。これは、画面や電子メールへの印刷メッセージをデバッグします。ありがとうございました – jribeiro