可能的MySQL突然错误

时间:2014-07-04 00:01:57

标签: php mysql mysqli database-connection

你好朋友来自SO!

好吧,这次我有一点点复杂的问题。我们有一个网络爬虫在一天中的大部分时间内正常运行并正常运行。

然而,有时它会停止:接下来要分析的链接,永远不会改变它的状态(从挂起到扫描),当然这会停止整个循环。

我们使用以下方式记录所有PHP错误:

//errores producción
@ini_set('error_reporting', -1);
@ini_set('log_errors','On');
@ini_set('display_errors','Off');
@ini_set('error_log','/var/www/vhosts/xxx.com/xxx.com/xxx');

没有任何证据可以证明所述问题。 0个异常。

因此,我认为问题可能与某些 MySQL问题有关?

我们所做的每一个MySQL查询都是通过自定义函数使用MySQLi完成的,所以我的问题是:


有没有简单的方法来记录我们存储PHP错误的同一个文件上的每个MySQL错误?


以下是用于查询MySQL的一些函数:

Function db_ob($db_link, $ask) {
$feedback = mysqli_fetch_object(mysqli_query($db_link, $ask));
return $feedback;
}

Function db_ob_all($db_link, $ask) {
$feedback = mysqli_query($db_link, $ask);
while ($row = mysqli_fetch_object($feedback)) { $value[] = $row; }
return $value;
}

所以我正在寻找的是一个或两行解决方案,我可以添加到这些函数中,以便存储和跟踪我当前存储PHP错误的同一文件中的任何问题或错误

提前致谢! 克里斯;

1 个答案:

答案 0 :(得分:0)

解决:

1)创建一个函数来跟踪错误到PHP error_log:

Function informar_error_db($db_link) {
error_log("Dreadful SQL error: ". mysqli_error($db_link)." in ".$_SERVER["SCRIPT_FILENAME"]);
}

2)如果有MySQLi问题,请保存em:

Function db_ask($db_link, $ask) {
$feedback = mysqli_query($db_link, $ask);
if (mysqli_error($db_link)) { informar_error_db($db_link); }
return $feedback;
}

下面:      if(mysqli_error($ db_link)){informar_error_db($ db_link); }