我正在使用析構函數關閉數據庫連接。PHP不能mysql_close(),因爲資源爲空?
function __destruct(){
var_dump($this->dblink);
mysql_close($this->dblink);
}
變種轉儲給我
resource(7) of type (mysql link) NULL
和mysql_close()給我:
Warning: mysql_close() expects parameter 1 to be resource, null given
有什麼想法?
編輯 感謝我的回覆,我找到了問題。被另一個父類調用。現在對我來說很明顯。
THANKS
也許var_dump在被轉儲時與變量相混淆?我還注意到,你得到了兩個var_dump消息(一個表示資源,一個表示空值)。也許實際上有兩個對象在你的代碼中調用'__destruct()',在這種情況下,你正在接收的消息之間沒有斷開。一個對象具有有效的數據庫鏈接。第二個對象的數據庫鏈接應該是null,並且還會引發警告。 – Kzqai 2011-06-09 14:18:37
是__destruct調用太遲了?嘗試取消設置變量,如果你只是依靠腳本終止來調用它。 – Geoffrey 2011-06-09 14:19:26
@ Tchalvak感謝您的迴應。其實我把vdump放進去了,因爲我試圖弄清楚爲什麼我會收到警告。 – asdfasdf 2011-06-09 14:19:29