Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 可能的突然错误_Php_Mysql_Mysqli_Database Connection - Fatal编程技术网

Php 可能的突然错误

Php 可能的突然错误,php,mysql,mysqli,database-connection,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('

来自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完成的,所以我的问题是:


有没有简单的方法将每个MySQL错误记录在存储PHP错误的同一个文件中?
下面是一些用于查询MySQL的函数:

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


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

提前感谢! 克里斯已解决:

1) 创建一个函数来跟踪PHP错误日志中的错误:

Function informar_error_db($db_link) {
error_log("Dreadful SQL error: ". mysqli_error($db_link)." in ".$_SERVER["SCRIPT_FILENAME"]);
}
2) 如果存在MySQLi问题,请保存它们:

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)}

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