我有一个每分钟运行的cron作业。每隔一段时间,而cron的失败,错误:如何在“MySQL服务器已经消失”错误后退出?
MySQL server has gone away
的问题是,这个错误下面所有的查询被执行,有时可能会产生不良的结果。
那么如何检测到错误发生并退出其余代码的执行?
或者任何有关如何解决错误的提示将是伟大的。
我有一个每分钟运行的cron作业。每隔一段时间,而cron的失败,错误:如何在“MySQL服务器已经消失”错误后退出?
MySQL server has gone away
的问题是,这个错误下面所有的查询被执行,有时可能会产生不良的结果。
那么如何检测到错误发生并退出其余代码的执行?
或者任何有关如何解决错误的提示将是伟大的。
错误似乎是由于连接到未响应的服务器,或者您正在使用的超时连接而导致的。
您应该能够从客户端API获取某种错误代码,并查看连接是否仍然有效。
如果失败,可以抛出异常,然后停止程序。
$query_id = mysqli_query($conn_id, $query);
if(!$query_id)
{
// throw an exception
throw new DatabaseQueryException("An error occurred accessing the database.\nError: \n".mysqli_error($conn_id));
}
是什么,我在我的网站
你可以给一个小的代码片段? – Yeti 2010-05-07 18:45:13
@Lost_in_code你去了,我添加了一个非常简单的。你显然需要用自定义的替换'DatabaseQueryException'(或者''DatabaseQueryException extends Exception {}') – 2010-05-07 18:47:47
*(相关)* http://blog.taragana.com/index.php/archive/mysql-tip-mysql-server-has-gone-使用远程或丢失连接到服务器的查询修复/ – Gordon 2010-05-08 09:30:09