2016-02-25 37 views
0

我正在重做我的网站的大部分使用较旧的mysql_ *扩展,因为它们执行得更快。是的,我知道有人说使用较旧的扩展程序并不是一个好主意,但我需要加快速度,因为此代码是我网站的后端操作的一部分,我希望尽可能多地为其提供服务。回溯到PHP中的mysql_close警告

转换结束后,我确实遇到了一个小问题。有时,当我试图关闭数据库连接,我得到的PHP警告:

PHP Warning: mysql_close(): 33 is not a valid MySQL-Link resource in /path/to/script.php on line # 

和线指的是下面的代码:

function DBclose($c){ 
    if (isset($c) && !mysql_close($c)){ 
     error_log("DB handle is invalid/null. Called from ".debug_backtrace()[2]['function'].'->'.debug_backtrace()[1]['function']); 
    } 
} 

这只有时会发生。

我想要做的只是改变这个警告,以便它包含调用它的函数。也许到更多的东西一样:

PHP Warning: mysql_close(): 33 is not a valid MySQL-Link resource in /path/to/script.php on line # called from parent function <function-name> 

我该如何解决这个问题,仍然让这个其他函数调用我做与@开始就没有显示在屏幕上的错误?

+0

如果你想要去的速度...去了'mysqli'和PHP 7,这是一种资源比PHP 5.x和MySQL更快。 – bear

+0

Mysql_close($ conn); – devpro

+0

您可以使用['debug_backtrace'函数](http://php.net/manual/ru/function.debug-backtrace.php)来获取父函数调用。 – max

回答

0

我不认为但是你可以更改消息,您可以检查它是否使用is_resource()