1

我已将我的网站上传到附加域,赋予用户“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 不是很有经验,但我看不出问题出在哪里。

感谢您提供的任何帮助。

4

3 回答 3

0

程序员在其职业生涯中必须实现的最重要的能力之一是信任自己的眼睛的能力。

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

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

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

于 2013-07-31T14:53:12.397 回答
0

你必须:

以 mysql root 用户身份登录:

mysql -u root -p

或者

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';
于 2013-07-31T14:58:53.623 回答
0

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

下面的命令将为您提供所需的权限:

GRANT ALL PRIVILEGES ON database-name.* TO username@'localhost';
于 2013-07-31T14:51:47.030 回答