2013-10-04 61 views
0

我可能有一個不可思議的愚蠢問題...所有憑據都在工作,我用不同的腳本測試了它們。 但是,我不知道哪裏的代碼是錯的...PHP - 連接到MySQL Turnkey Linux

有人可以幫助我找到問題,所以我可以更好地理解它嗎?

define("HOST", "localhost"); // The host you want to connect to. 
define("USER", "deb63058_DomiSec"); // The database username. 
define("PASSWORD", "ypPN7UY6aaxLxw7D6qwTrkJ3"); // The database password. 
define("DATABASE", "deb63058_Domi"); // The database name. 

$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE) ; 
// If you are connecting via TCP/IP rather than a UNIX socket remember to add the port number as a parameter. 

$con=mysqli_connect("localhost","deb63058_DomiSec","ypPN7UY6aaxLxw7D6qwTrkJ3","deb63058_Domi"); 

if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL !!!: " . mysqli_connect_error(); 
    } 

給出的以下錯誤:

Failed to connect to MySQL !!!: Access denied for user 'deb63058_DomiSec'@'%' to database 'deb63058_Domi' 

什麼是 '@' %」的錯誤信息是什麼意思? 我連接到一個本地的交鑰匙linux服務器

+0

'訪問拒絕用戶'是一個簡單的用戶名/密碼錯誤信息 - 檢查您的用戶名和密碼。通常會說:拒絕用戶'deb63058_DomiSec'@'** localhost **'。 ...我希望這些連接細節都不是真的,真實的(在像SO這樣的公共網站上) – CD001

+0

......哦,還要檢查你的'mysql'.'user'和'mysql'.'tables_priv'表以確保你的用戶有權訪問'deb63058_Domi'表 – CD001

回答

3

'deb63058_DomiSec'@'%'意味着用戶已被創建,以便它可以從任何主機訪問數據庫。 %是一個mysql通配符。錯誤Access denied for user 'deb63058_DomiSec'@'%' to database 'deb63058_Domi'表示密碼正確,但用戶無權訪問該數據庫。使用以下命令在mysql中檢查該用戶的權限:SHOW GRANTS FOR 'deb63058_DomiSec'@'%';然後添加所需的priv。

+0

剛剛在MySQL Workbench中檢查過,你絕對正確!非常感謝aynber,我正在尋找PHP中的錯誤... – user2846637

+0

不客氣!不要忘記接受答案。 :-) – aynber