2013-04-03 62 views
0

我有一個連接到一個數據庫中讀取值的簡單的PHP頁面,這一切似乎工作正常,當我把它部署在本地。但是,當我部署到我的服務器,然後它不會連接 - 它看起來像它是忽略我的連接文件,並使用默認值...?連接訪問被拒絕的用戶WWW的數據

<?php 
//Database details 
include "Connection.php"; 
$db_handle = mysql_connect($server, $user_name, $password); 
$db_found = mysql_select_db($database, $db_handle); 
?> 

//Contents of Connection.php 
<?php 
    $user_name = "sam"; 
$password = "123456"; 
$database = "clubleague"; 
$server = "localhost"; 
?> 

錯誤我得到的回覆是:

訪問被拒絕的用戶 'www數據' @ 'localhost' 的(使用密碼:NO)。

我會期望它說拒絕訪問用戶「山姆」,而不是www數據? 在phpMyAdmin中,我有一個名爲Sam的用戶連接到數據庫,並且我已經嘗試給它提供針對Global和本地數據庫的完全權限,但沒有喜悅。任何提示,建議讓它連接我的憑據?

+0

[**在新的代碼,請不要使用'mysql_ *'功能**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – rekire

+0

確保您的憑證正常。 –

回答

1

mysql_connect似乎通過了空的$server,$user_name$password

默認情況下它連接到默認通過UNIX套接字使用PHP解釋器下運行的憑據(在你的情況是Apache的憑證)的本地服務器。

最有可能會反映在Web服務器日誌(「未定義的變量:在...服務器」)和類似的。

請檢查Connection.php確實存在,實際上被包括在內。

+0

由於某種原因,我現在還不知道,我使用的密碼包含特殊字符。當我將密碼更改爲「1234」時,它就起作用了。密碼只是暫時的,但仍然令人困惑。 – Adrian

2

它看起來像你的,不包含「Connection.php」。爲避免這種情況,請檢查文件路徑,並使用「require」代替「include」(http://php.net/manual/en/function.require.php)。在這種情況下,「require」會引發錯誤,並且您不會錯過它們。

相關問題