未连接到具有多个MySQL连接的文件中的数据库

时间:2021-06-23 作者:amberjoy02

我有一个外部WordPress文件,我试图连接到我的WordPress数据库和另一个不是WordPress的数据库。

下面是该文件中的代码:

include(\'/var/www/html/wp-load.php\'); // WP connection

define ("DB_HOST", "localhost");
define ("DB_USER", "mysqluser");
define ("DB_PASS",\'password123\');
define ("DB_NAME","jobs");
try {
    $dsn = "mysql:dbname=".DB_NAME.";host=".DB_HOST;
    $dbh = new PDO($dsn, DB_USER, DB_PASS);
    return $dbh;
} catch (PDOException $e) {
    echo \'Connection failed: \' . $e->getMessage();
}
以下是我在连接WordPress数据库时遇到的错误:

Connection failed: SQLSTATE[HY000] [1045] Access denied for user \'wordpress\'@\'localhost\' (using password: YES)
我怎样才能解决这个问题?

1 个回复
SO网友:bosco

当您包括wp-load.php, WordPress将加载wp-config.php, 其中,已经定义了与您在此处选择的标识符相同的常量。这应该会引发有关重复定义的警告。

因为you cannot re-define constants, 您试图在此文件中设置的值将被忽略。如果它们引用的是非WordPress数据库的值,请为它们选择不同的名称。

要与WordPress数据库交互,使用WordPress API更有意义。当您已经加载了WordPress环境时,没有真正的理由建立单独的连接。