我想添加一个简单的,如果查询功能出现故障,请给我发电子邮件。
在
$result = mysql_query($query) or die
我会添加什么?
答案 0 :(得分:1)
如果频繁访问页面上有错误的SQL
或者在mysql服务器关闭的情况下,
会打开你的收件箱。
如何使用error_log
将错误的sql登录到本地磁盘?
日志旋转也应该适合(例如日志文件可以是Ymdh.log
不是ASAP通知
因此,您将收到一封电子邮件,指出是否有任何新错误的SQL在最后一刻发生,如果没有出错则不会发出警报。
因为无法说服你......
然后你可以将错误的sql与错误日志
进行比较
如果错误日志中找不到错误的sql,请附加到错误日志中,通过电子邮件发送错误的sql
你需要寻找一种时髦的方法在错误日志中快速进行字符串比较(如果错误日志增长太快)
日志旋转也可以应用
答案 1 :(得分:0)
if(!$result = mysql_query($query){
mail(...);
die;
}
答案 2 :(得分:0)
你可以使用一个函数说
$result = mysql_query($query) or reportErrorData()
function reportErrorData()
{
$fp=popen("/usr/sbin/sendmail -t -oi","w");
fwrite($fp,"To: DEV_EMAIL\n");
fwrite($fp,"From: support@support.com\n");
fwrite($fp,"Subject: System Error\n\n");
fwrite($fp, "Message: error message\n\n")
pclose($fp);
}
您还可以将参数传递给reportErrorData函数,例如 sql , _ FILE _ , _ 功能 _ 等。也可以通过电子邮件发送任何 $ _ SESSION,$ _GET或$ _POST数据,以便查看登录用户是谁(如果是这样的话)并查看错误发生的位置,即哪个文件,功能行等。
希望这会有所帮助。