2016-11-20 75 views
1

我寫了一些php網頁使用的函數,以便與mysql數據庫交互。總共有5個類似的php頁面。當我在本地服務器上測試它們時,一切正常。數據填充在mysql數據庫中。但是當我把它放在web服務器上時,我的php文件中有3個顯示「無法連接:拒絕用戶root'@'localhost'(使用密碼:YES)」。而其他兩個文件按預期執行。我使用phpmyadmin,並通過cPanel託管網站。有人可以幫我解決這個問題嗎?在Web服務器上運行php文件時出現「無法連接」錯誤

以下是拋出錯誤

<?php 
session_start(); 
define ('DB_NAME', 'roze'); 
define('DB_USER', 'root'); 
define('DB_Password', 'good'); 
define('DB_HOST', 'localhost'); 

$link = mysql_connect(DB_HOST, DB_USER, DB_Password); 

if (!$link) 
{ 

die('Could not connect: ' . mysql_error()); 

} 

$db_selected = mysql_select_db(DB_NAME, $link); 

if (!$db_selected) 
{ 
    die('Cannot use' . DB_NAME . ': ' . mysql_error()); 
} 

echo 'Connected Successfully'; 


$value4 = $_POST['couch_table']; 



$sql = " UPDATE master set couch_table= '".$value4."'"; 

if (!mysql_query($sql)){ 
die('Error: ' . mysql_error()); 
} 

header('location: room.html'); 

?> 

其他信息一個我的PHP文件中的代碼:我創建了我的FTP並通過FileZilla中uplaoded我的文件。

+4

那麼,我們當然無法幫助您使用您的數據庫服務器憑據。但是,如果您使用的是某個託管服務提供商,那麼我很懷疑您有權訪問其數據庫服務器的「root」帳戶。 – arkascha

+3

請不要使用'mysql_ *'函數。它們在PHP 5.5中被棄用,它已經很舊了,甚至不再接收安全更新,而是在PHP 7中完全刪除。相反,使用PDO或'mysqli_ *'。有關詳細信息,請參閱http://stackoverflow.com/q/12859942/354577。 – Chris

+3

你確定你在所有文件中都有相同的密碼嗎?因爲該錯誤消息基本上告訴你「你的密碼無效」。另外:你應該把你的憑據放在一個單獨的文件中,然後包含它。另外:**不要**使用在PHP7中刪除的不推薦使用的'mysql'函數,而是使用'mysqli'或'PDO'。你的代碼很容易受到SQL注入的影響,想象有人發佈像''這樣的值; DROP TABLE master - ' - 使用參數化語句來保護自己。 –

回答

0

此外,您可以嘗試創建一個具有所有權限的新的mysql用戶,然後使用該憑據進行連接。

相關問題