2016-02-25 38 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()