2010-09-20 30 views
2

我有一個非常奇怪的問題,以及不是一個真正的問題,因爲我已經修復它但仍然, 當我試圖連接到MySQL數據庫:將字符串作爲參數傳遞給函數時使用雙引號與單引號

mysql_connect("server", "user", "pass") or die(mysql_error()); 

即時得到:

訪問被拒絕的用戶 '用戶' @ '服務器'(使用密碼:YES)

但是當我查nge圍繞密碼單引號:

mysql_connect("server", "user", 'pass') or die(mysql_error()); 

它工作得很好。 我沒有在另一臺服務器有這個問題。 所以也許它是在MySQL設置或在php.ini中的東西?

謝謝。

+2

你的密碼裏有'$',不是嗎? – Wrikken 2010-09-20 16:40:08

回答

2

請問您的密碼包含任何特殊字符,如$?在雙引號中,PHP將嘗試解釋變量。因此,"My$Password"會在PHP中尋找一個名爲$Password的變量,但不存在。所以得到的密碼字符串將只是My。 (如果你已啓用顯示E_NOTICE錯誤,你應該得到一個。)

此外,特殊字符序列如\n在雙引號內解釋。

相關問題