PHP PDO MySQL-不使用DSN上指定的主机

PHP PDO MySQL-不使用DSN上指定的主机,php,mysql,pdo,Php,Mysql,Pdo,晚上好, 我一直试图在配置文件中设置两个数据库连接,一个是内部的,另一个是外部的 $DB_host = '127.0.0.1'; $DB_port = '3306'; $DB_name = 'users'; $DB_user = 'root'; $DB_pass = 'obliquous'; $DB2_host = '123.123.123.123'; $DB2_port = '3306'; $DB2_name = 'pancakeshop'; $DB2_user = 'potato_shop

晚上好,

我一直试图在配置文件中设置两个数据库连接,一个是内部的,另一个是外部的

$DB_host = '127.0.0.1';
$DB_port = '3306';
$DB_name = 'users';
$DB_user = 'root';
$DB_pass = 'obliquous';

$DB2_host = '123.123.123.123';
$DB2_port = '3306';
$DB2_name = 'pancakeshop';
$DB2_user = 'potato_shop';
$DB2_pass = 'ambiguous';

try
{
     $db = new PDO("mysql:host={$DB_host};dbname={$DB_name}",$DB_user,$DB_pass);
     $db2 = new PDO("mysql:host={$DB2_host};dbname={$DB2_name}",$DB2_user,$DB2_pass);
     $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $db2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
     echo $e->getMessage();
     die();
}
我用127.0.0.1做的一个-这意味着我为专用服务器指定的本地主机-它按预期工作,尽管用123.123.123的一个使用本地IP地址,而不是外部IP地址

185.113.141.125是PHP服务器正在运行的专用服务器

给我的错误如下:

用户'potato_shop'@'185.113.141.125'的SQLSTATE[HY000][1045]访问被拒绝(使用密码:是)

代码语法有什么错误吗?

这是因为(至少在windows中)

如果您只需创建一个具有
pancakeshop

CREATE USER 'not_root'@'123.123.123.123' IDENTIFIED BY 'ambiguous';

GRANT ALL PRIVILEGES ON pancakeshop.* To 'not_root'@'123.123.123.123' IDENTIFIED BY 'ambiguous';
FLUSH PRIVILEGES;

让我有另一件事。。。它不是根帐户,只是一个坏例子。i.imgur.com/9X4e6Oz.png未混淆的代码和错误。@JoãoRodrigues如我所说,您在该主机上创建了用户吗?您可能意外地在LocalHost185.113.141.225上创建了它,它是通过cPanel的web主机。“带有123.123.123.123的一个使用本地IP地址,而不是外部IP地址”fixed@Phil我指的是专用服务器IP地址。我仍然看不到您提供的任何信息表明
$db2
连接使用的是本地IP。你能确切地说明你想做什么,你期望看到什么,你实际上看到了什么吗?不要使用像“专用服务器IP”这样的词。显示所显示的错误消息。如果你不得不混淆IP地址之类的细节,那么在你的示例代码中做同样的更改我认为现在更清楚了。不,不是。代码中的哪个位置是
185.113.141.25