Jommla使用Multisites扩展连接到另一个数据库


Jommla connect to another database using Multisites extension

我使用Joomla 2.5和Multisites扩展。当我在X页上Joomla使用X数据库,在Y页上使用Y数据库-没关系。不幸的是,我不得不切换到另一个数据库。我如何说$db = JFactory::getDbo();连接到当前站点数据库,因为Multisites扩展工作,每个页面都有自己的配置文件与数据库参数。什么好主意吗?

解决方案:

$option['driver'] = 'mysqli';
$option['host'] = 'localhost';
$option['user'] = 'root';
$option['password'] = '';
$option['database'] = 'joomla';
$option['prefix'] = 'a45gy_';
JFactory::destroy();
$db = JDatabase::getInstance($option);
if (JError::isError($db)) {
    jexit('Database Error: ' . $db->toString());
}
if ($db->getErrorNum() > 0) {
    JError::raiseError(500, 'JDatabase::getInstance: Could not connect to database <br />');
}
parent::setDbo($db);

试一试。

$dbX = JDatabase::getInstance(array ('host' => $host, 'user' => $user, 'password' => $pass, 'database' => $database, 'prefix'=>null));
$dbY = JDatabase::getInstance(array ('host' => $host, 'user' => $user, 'password' => $pass, 'database' => $database, 'prefix'=>null));