拒绝用户的SELECT命令无法连接到数据库

时间:2013-07-31 14:44:30

标签: php mysql dreamweaver

我已将我的网站上传到添加域,并为用户“tomzino1_user1”提供了正确的权限,并将用户添加到了正确的数据库中。它是一个基于php的网站,在Dreamweaver上编写

当我尝试访问我的网站(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不是很熟悉,但我看不出问题所在。

感谢您提供任何帮助。

3 个答案:

答案 0 :(得分:0)

尝试使用相同的连接参数在另一个表中运行SELECT。

下面的命令会给你所需的权限:

GRANT ALL PRIVILEGES ON database-name.* TO username@'localhost';

答案 1 :(得分:0)

程序员在职业生涯中必须达到的最重要的能力之一就是能够信任他们的眼睛。

如果错误消息清楚地表明用户'tomzino1_user1'@'localhost'对表'main_table'没有SELECT权限 - 就是这样。这就是问题的原因和确切解释。就如此容易。

不是猜测,也不是任何支持团队的回复都不值得一分钱反对您可以用眼睛观察到的错误消息。

所以,没有理由寻找任何解释或理由 - 你已经拥有它。因此,您必须设置用户权限正确

答案 2 :(得分: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';