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

问题描述 投票:1回答:3

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

[当我尝试访问我的网站(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不太了解,但是我看不出问题出在哪里。

感谢您提供的任何帮助。

php mysql dreamweaver
3个回答
0
投票

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

下面的命令,将提供您需要的特权:

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

0
投票

程序员在职业生涯中必须实现的最重要的能力之一是信任他们的眼睛的能力。]] >>

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

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

因此,没有理由寻找任何解释或理由-您已经拥有了。因此,您必须设置用户权限适当

您必须:

以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
投票

您必须:

以mysql root用户身份登录:

© www.soinside.com 2019 - 2024. All rights reserved.