Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从另一台服务器连接到数据库:拒绝用户访问';abc&x27@';本地主机';(使用密码:是)_Php_Mysql_Database - Fatal编程技术网

Php 从另一台服务器连接到数据库:拒绝用户访问';abc&x27@';本地主机';(使用密码:是)

Php 从另一台服务器连接到数据库:拒绝用户访问';abc&x27@';本地主机';(使用密码:是),php,mysql,database,Php,Mysql,Database,我试图使用服务器a的PHP脚本连接到服务器B上的数据库,该数据库返回错误: 用户“abc”@“localhost”的访问被拒绝(使用密码:是) 我使用了与服务器B上的脚本完全相同的代码 //Database parameters $servername = "localhost"; $username = "abc_abc"; $password = "abc"; $dbname = "abc_abctable"; //Create connection $conn = new mysqli(

我试图使用服务器a的PHP脚本连接到服务器B上的数据库,该数据库返回错误:

用户“abc”@“localhost”的访问被拒绝(使用密码:是)

我使用了与服务器B上的脚本完全相同的代码

//Database parameters
$servername = "localhost";
$username = "abc_abc";
$password = "abc";
$dbname = "abc_abctable";

//Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
我已经在命令提示符下使用了
tracert
,检查并在服务器B上的数据库中列出了服务器A的IP地址。我还允许用户abc访问abctable的所有访问权限


我想我看到了一个教程,我必须以这种格式创建我的数据库用户名:abc:[服务器a的IP地址],但我不能,因为cpanel没有这个选项。它只允许用户名包含6个字符。

如果服务器A和B不是同一个框/IP,那么使用
localhost
将不起作用。。。您需要使用db服务器的IP或DNS名称进行连接。正如@prodigitalson所说,将上面的localhost更改为serverb的名称或IP,您就可以开始了。localhost是一个特殊的名称,它指的是本地计算机(127.0.0.1或::1)。因此,在serverA上它指向serverA,在ServerB上它指向ServerB。发生的情况是,您正在连接到serverA上的本地数据库服务器,而该服务器既没有创建该数据库,也没有其他用户/密码。@prodigitalson尝试了这一点,现在我遇到了以下错误:连接失败:无法连接到'xx.xxx.xx.x'上的MySQL服务器(113)这意味着您的MySQL服务器的防火墙不对外部连接开放。您应该与运行服务器的托管公司联系,询问他们您是否可以从他们的网络外部访问该服务器。@MosheKatz谢谢。我想你是对的。我将表单数据发布到服务器B中的脚本中,它就工作了。