明白了。。。花了一整天,但现在我终于可以睡觉了。
此解决方案适用于驻留在同一服务器上的一组数据库,即使它们位于不同的帐户中。因此,不需要在CPanel中设置远程服务器访问。关键是找到您希望访问的wordpress数据库的用户名和密码。这可以在wp\\U配置中完成。php或为Cpanel中的数据库分配一个新用户。
我遇到的第一个问题是#define语句需要使用双引号,而不是单引号。
要使用我最初尝试的方法(再次从同一台服务器)访问数据库,即使它是不同的帐户,如下所示:
$db = mysqli_connect("localhost","user name","password","database name");
if (!$db)
{
DebugLog("Error: Unable to connect to MySQL." );
DebugLog("Debugging errno: " . mysqli_connect_errno());
DebugLog("Debugging error: " . mysqli_connect_error());
}
else
{
DebugLog(\'3 Connection SUCCESS!\' );
mysqli_close($db);
}
但这不允许以传统方式访问WordPress数据库。由于目标是拥有一个wordpress站点,从另一个wordpress站点访问数据,因此需要另一种方法,并且能够使用相同的函数调用来回访问,这需要通过wordpress方式访问数据。这就是解决方案:
function connectAltDB()
{
global $new_wpdb;
// "user","password", "database", "host/ip"
$new_wpdb = new wpdb("wrdp1_user", "YourPass", "wrdp1_db", "localhost");
$new_wpdb->set_prefix(\'wp_\', $set_table_names = true);
$new_wpdb->show_errors();
// Test the connection with a simple retrieval - can be commented out
//$sql_query = $new_wpdb->prepare("SELECT * FROM wp_users WHERE id=%d", 1);
// $rows = $new_wpdb->get_row($sql_query, ARRAY_A);
// DebugLog($rows[\'user_login\']);
return $new_wpdb;
}
function CloseconnectAltDB()
{
global $new_wpdb;
$new_wpdb->close() ;
}
希望这对将来的人有所帮助。