我正在处理一个包含两个DB的项目,公共表位于主DB中,一些特定表位于单独的DB中。
我需要动态连接数据库,因为第二个数据库基于他们在站点中登录的用户。我们从DB获取详细信息,然后创建数据库设置并连接。
任何人都可以帮助这个概念。
答案 0 :(得分:0)
这可能对你有帮助......
答案 1 :(得分:0)
我使用过这种方法
function dbConnect($config = array()) {
$config['datasource'] = 'test';
ClassRegistry::init('ConnectionManager');
// echo "<pre>";print_R($config);die;
// echo $nds = $config['datasource'] . '_' . $config['dbname'];
$nds = $config['datasource'] . '_' . $config['dbname'];
$db =& ConnectionManager::getDataSource($config['datasource']);
$dbprfx = $config['dbname'].'_';
$db->setConfig(array('name' => $nds, 'database' => $config['dbname'],'prefix' => $dbprfx, 'persistent' => false));
if($ds = ConnectionManager::create($nds, $db->config)) return $db->config;
return false;
}
工作正常
感谢所有回复。