2013-07-31 25 views
1

我已經將我的網站上傳到域名添加,給予用戶「tomzino1_user1」正確的權限並將用戶添加到正確的數據庫。它是一個基於PHP的網站寫在Dreamweaver中對用戶拒絕的SELECT命令無法連接到數據庫

當我試圖訪問我的網站(theboatshedmusic.com),其與錯誤信息出現:

SELECT command denied to user 'tomzino1_user1'@'localhost' for table 'main_table' 

託管公司的支持服務部​​門檢查發現桌子是正確響應並且用戶已被授予正確權限並正確添加到配置文件中。他們建議在我的MAMP測試數據庫中正常工作的腳本存在問題。

配置文件全文:

<?php 
# FileName="Connection_php_mysql.htm" 
# Type="MYSQL" 
# HTTP="true" 
$hostname_boatshed = "localhost"; 
$database_boatshed = "tomzino1_boatshed_test"; 
$username_boatshed = "tomzino_user1"; 
$password_boatshed = "********"; 
$boatshed = mysql_pconnect($hostname_boatshed, $username_boatshed, $password_boatshed) or trigger_error(mysql_error(),E_USER_ERROR); 
?> 

而在我的index.php文件的第一個查詢是:

mysql_select_db($database_boatshed, $boatshed); 
$query_getRecordreviewsarchive = "SELECT DISTINCT DATE_FORMAT(main_table.uploaded, '%M %Y') as recordreviewsarchive, DATE_FORMAT(main_table.uploaded, '%Y-%m') as recordreviewslink FROM main_table WHERE main_table.type = 'Record Reviews' ORDER BY main_table.uploaded DESC"; 
$getRecordreviewsarchive = mysql_query($query_getRecordreviewsarchive, $boatshed) or die(mysql_error()); 
$row_getRecordreviewsarchive = mysql_fetch_assoc($getRecordreviewsarchive); 
$totalRows_getRecordreviewsarchive = mysql_num_rows($getRecordreviewsarchive); 

恐怕我不是很有經驗的PHP和SQL,但我看不清楚問題所在。

謝謝你提供的任何幫助。

+6

這是與特權的問題爲此用戶在此表上。您需要使用grant命令將權限授予此用戶。 – Maximus2012

+0

https://kb.mediatemple.net/questions/788/HOWTO%3A+GRANT+privileges+in+MySQL#dv – Maximus2012

+0

這是遺留應用程序嗎?'mysql_query'是從PHP中刪除的不推薦使用的方法,並且沒有業務存在於新代碼中。 – tadman

回答

0

嘗試在具有相同連接參數的另一個表中運行SELECT。

命令波紋管,會給你所需要的權限:

GRANT ALL PRIVILEGES ON database-name.* TO [email protected]'localhost'; 
0

一個程序員必須實現在自己的職業生涯是一個相信自己的眼睛能力的最重要的能力。

如果出現錯誤信息明確表示,用戶'tomzino1_user1'@'localhost'對錶'main_table'沒有SELECT權限 - 所以它是。這是問題的原因和確切的解釋。就如此容易。

不是一個猜測,也不是任何支持團隊回覆不值得一分錢對付一個錯誤消息,你可以用你的眼睛觀察。

所以,沒有理由尋找任何解釋或理由 - 你已經擁有它。因此,您必須正確設置用戶權限

0

你必須:

登錄作爲MySQL root用戶:

mysql -u root -p 

OR

mysql -u root -h YOUR_MYSQL_SERVER_ADDRESS -`p 

執行命令:

GRANT SELECT ON tomzino1_boatshed_test.main_table TO 'tomzino1_user1'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD'; 
+0

感謝您的回覆。 我擁有的軟件包將不允許root訪問,所以我相信我不能這樣做。我還檢查了在相關數據庫的mysql用戶權限中選擇了select權限以及所有其他權限。 – user2638510

相關問題