2012-11-29 201 views
0

嗨我是PHP和MySQL的新手我已經在LAMP上創建了應用程序並上傳到了net4.com上的一個網站託管公司。他們正在使用phpMyAdmin來連接數據庫,當我嘗試使用php連接到數據庫並查詢數據庫時,我能夠成功解決問題。我使用,我已經成功地使用我的本地機器上的mysql_connect()函數來連接到遠程數據庫即遠程數據庫連接字符串

$link = mysql_connect("118.67.248.12", "username", "password"); 

其中「118.67.248.12」是我的數據庫所在的服務器的IP地址,它拋出以下錯誤:

"1045Access denied for user 'Technosaar'@'118.67.248.190' (using password: YES)"

,如果我「代替‘使用localhost 118.67.248.12’它引發以下錯誤:

"2002No connection could be made because the target machine actively refused it."

我已經竊聽了愈傷組織ng「net4」支持guyz,但問題仍然存在有人請幫助我,五一節五一節!

+4

如果你還在學習PHP和MySQL的過程,請不要去了解'mysql_ *',因爲它已被棄用。花一些時間閱讀['PDO' here](http://www.php.net/PDO),或者如果需要的話,[mysqli_ *'連接](http://www.php.net/ mysqli_connect),它提供了一個非常類似於'mysql_ *'的API –

回答

0

後者(本地主機)不能正常工作我假設,因爲Web服務器和數據庫服務器不在同一臺機器上運行。

您確定服務器上的密碼設置正確嗎?這看起來像一個身份驗證錯誤給我。

0

「1045訪問拒絕用戶'Technosaar'@'118.67.248.190'(使用密碼:YES)」暗示來自Web服務器的用戶Technosaar缺少訪問權限。 登錄到phpMyAdmin,然後輸入命令

show grants; 

show grants for '<myuser'@'<host>'; 

裏面應該有

grant <privilege> on <mydatabase> to '<myuser>'@'<host>'

有一條線,你會看到什麼樣的訪問權限配置爲您的用戶。如果未列出您的Web服務器,你必須你需要爲你的數據庫

grant all privileges on <mydatabase>.* to '<myuser>'@'<host>'; 

或任何特權。

當然,插入相應的數據庫名稱,用戶名和網絡服務器主機。