我正在使用Joomla 2.5和Multisites扩展。当我在页面X上Joomla使用X数据库时,在页面Y上使用Y数据库 - 没关系。不幸的是我必须切换到另一个数据库。我如何说$db = JFactory::getDbo();
连接到当前站点数据库,因为Multisites扩展可以使每个页面都有自己的配置文件和数据库参数。有什么想法吗?
答案 0 :(得分:0)
$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));
答案 1 :(得分:0)
这是解决方案:
$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);