2013-12-13 31 views
0

PSA:請勿使用mysql_函數。在答案中看到下面的解釋。爲什麼我在這一行上得到「Warning:mysql_close():提供的參數不是有效的MySQL-Link資源」?

我有一個名爲dbAccessmysql.php文件,它處理我的插入查詢。直到今天,我對這個文件沒有任何問題,我不確定我是否意外地改變了某些東西或什麼。

的警告是:

警告:mysql_close():提供的參數不是在/home/www/data/dbAccess/mysql.php一個有效的MySQL-Link的 資源上線83

線83是這樣的:

mysql_close($this->dbserver); 

dbserver定義爲private $dbserver;。服務器設置與

$this->dbserver = "my.server.address.com" 

真的不知道我在做什麼錯這個......就像我說,這是工作的罰款,直到今天,所以我必須在不小心撞到了東西在我的其他的一個使用該類的文件?非常感謝在哪裏尋找指針。

+0

請。 [不要在PHP中使用'mysql_'函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。 –

+1

字符串「my.server.address.com」不是有效的MySQL-Link資源,是嗎? –

+0

當谷歌搜索''警告:mysql_close():提供的參數不是有效的MySQL-Link資源時,有許多許多結果「'選擇一個。可能是一個「超出範圍」的問題。 –

回答

4

mysql_close()接受連接資源作爲參數 - 您傳遞一個字符串(my.server.address.com)。

該資源由mysql_connect()返回。你可能有這樣的事情在你的代碼:

$connection = mysql_connect(...); 

只需使用這個變量傳遞給mysql_close()

mysql_close($connection); 

如果您沒有存儲在變量的連接,你可以調用mysql_close()不帶參數以及。

「如果未指定link_identifier,則使用上次打開的鏈接。」

甚至沒有必要使用mysql_close(),因爲打開的連接在腳本執行結束時自動關閉。

請參閱http://www.php.net/mysql_close瞭解更多信息。

注意:對於正在閱讀此答案的其他人:請注意mysql_ functions are deprecated

+0

無論出於何種原因,連接永遠不會與變量關聯。它只是'mysql_connect($ this-> dbserver,$ this-> username,$ this-> password); \t \t \t \t \t \t mysql_select_db($這個 - > DBNAME);' – Prefix

+1

是的備案 - 聽大家在這裏的同胞編碼器,從不使用mysql_。我已經吸取了我的教訓:) – Prefix

+0

那麼這也不是問題。這是一個可選的參數,你可以不帶任何參數調用'mysql_close()'。你甚至可以完全省略'mysql_close()' - 參見http://www.php.net/mysql_close –

相關問題