2017-05-03 105 views
-3

這是我的代碼:無法連接到MySQL數據庫沒有「拒絕訪問」

<html> 
<body> 
<?php 

$servername = "localhost"; 
$username = "guest"; 
$password = "#Guest123"; 
$database = "My_first_Database"; 

$conn = new mysqli($servername, $username, $password, $database); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
echo "Connected successfully"; 
?> 
</body> 
</html> 

當上傳到我的Web服務器的頁面顯示:

連接失敗:拒絕訪問用戶「客人」 @「localhost」的(使用 密碼:YES)

我知道這樣的問題通常是由於「客戶」不具有正確的權限,但「GUE st'擁有這個數據庫的所有權限。所以我不明白爲什麼我不能用這個用戶訪問數據庫。

對不起,如果這已經在這裏問過,但每個人都說給予用戶特權(我已經完成)。

解決:在使用GRANT ALL時,mysql沒有正確授予所有權限。必須手動授予權限

+0

您是否使用正確的密碼? PS:在公共論壇上發佈你的密碼是一個非常糟糕的做法。 – motanelu

+0

嗯,我真的希望「#Guest123」不是他的密碼。但是,通常這個錯誤是因爲密碼不正確或其他一些認證問題。 ;) –

+0

服務器是本地主機,所以它真的沒關係,他發佈密碼 – FlamingGenius

回答

0

我已經使用GRANT ALL ON My_first_Database.* TO 'guest'@'localhost' IDENTIFIED BY '#Guest123'讓所有的特權,並檢查了用戶名和密碼是否正確

- KangarooChief

解決:當使用GRANT ALL時,mysql沒有正確授予所有權限。我不得不手動授予權限

- KangarooChief

+0

謝謝馬丁 – KangarooChief

-1

至於你的代碼放在一切是正確的,這絕對是一個服務器的問題會在這裏請確保您在正確的價值觀和特權

以下僅如果你的設置意味着將家庭服務器 檢查並確保您有readwrite訪問該目錄如果您的數據庫設置的文件夾沒有讀寫訪問身份驗證將失敗每次這是一個常見的原因,您可能會收到一個錯誤你「拒絕訪問」

仔細檢查您的用戶名,密碼,分貝常見的拼寫錯誤

+0

如果他正在建立自己的家庭服務器,那麼他需要允許他的腳本讀取和寫入其他可能會失敗 – FlamingGenius

+0

編輯澄清:) – FlamingGenius

相關問題