我似乎无法访问主机服务器的数据库。这是我用来连接它的代码:
$servHost = 'fdb7.biz.nf';
$servPort = '3306';
$servName = '1598934_user';
$servPass = '**********';
$dataTable = 'table';
$connect = @mysql_connect($servHost.':'.$servPort, $servName, $servPass);
$db = @mysql_select_db($dataTable);
if(!$connect || !$db){
die(mysql_error());
}else{
echo 'connected';
}
当我尝试使用它时出现错误:
Access denied for user '1598934_user'@'%' to database 'table'
我认为它与 %
符号有关,但我不知道用什么或如何替换它。服务器不是我的,我正在使用 biz.nf 来托管我的网站。任何建议表示赞赏。
最佳答案
检查数据库中是否存在用户1598934_user。如果确实存在,请运行以下 mysql 查询以授予权限。
GRANT ALL PRIVILEGES ON `postsData`.* TO '1598934_user'@'%';
FLUSH PRIVILEGES;
或者如果您不想授予所有权限,则使用:
GRANT <privileges> ON postsData.* TO '1598934_user'@'%' IDENTIFIED BY 'password';
或使用:
GRANT INSERT, SELECT, DELETE, UPDATE ON postsData.* TO '1598934_user'@'%' IDENTIFIED BY 'password';
这应该给用户权限
此外,如果用户不存在,请遵循查询:
CREATE USER '1598934_user'@'%' IDENTIFIED BY 'password';
并按照授予权限查询来授予权限。
此外,如果您无权运行上述查询,请使用服务器名称作为 localhost
并将您的站点内容/文件上传到主机并从主机运行。
关于php - 无法连接到数据库。拒绝用户 'UserName' @'%' 访问数据库 'table',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23124221/