最近我購買了域名「domain.com」。託管公司擁有通常的CPanel來處理數據庫。連接到遠程服務器上託管的MySQL數據庫
使用「MySQL數據庫」我:
- 創建名爲數據庫「數據庫1」
- 創建了用戶的用戶名「用戶1」和密碼「PASS1」
- 新增用戶「 user1「到數據庫」database1「
到目前爲止這麼好。
之後,我點擊PHPMyAdmin並重定向到PHPMyAdmin網頁。在那裏我看到了我以前創建的「database1」。點擊該數據庫,我使用IMPORT導入了一個名爲「test」[columns(id,name,surname)]的非常簡單的表格。在數據庫「database1」下面導入創建的表「test」,這是正確的。
之後我試圖用下面的代碼(connect_to_db.php
)連接到數據庫:
// Create connection
$con=mysqli_connect("domain.com","user1","pass1","database1");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error() ."<br>";
}
我已上傳的connect_to_db.php
入/home/domain/public_html/
。
當我嘗試連接到數據庫1,我收到以下錯誤:
Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Access denied for user 'user1'@'xxx.xxx.xxx.xxx' (using password: YES) in /home/karkoona/public_html/connect_to_db.php on line 13
哪裏xxx.xxx.xxx.xxx
爲domain.com的公網IP(如果我得到它的權利)。
而且對着陸頁的phpMyAdmin右邊,我看到:
user: [email protected]
任何想法,爲什麼我不能用當前用戶訪問數據庫? 我的代碼中是否有任何錯誤?
謝謝。
'user1'沒有權限訪問該數據庫,所以使用root用戶授予'user1'的權限 – krishna
您的託管服務提供商可能有文檔連同示例連接...檢查它 – user1844933
創建用戶時,您必須使用正確的「主機」字段創建它們:從用戶名「user1」,主機「%」,密碼「whatever」開始,然後按照您的方式運行 –