我正在检查DooPHP,我似乎无法找到如何同时使用多个数据库连接。我只想拥有多个数据库对象并使用他们的方法来查询数据库。现在我正在这样做:
Doo::db()->setDb($dbconfig, $config['APP_MODE']);
Doo::db()->query('.......');
然后当我想使用另一个数据库时再次设置。但这是迟钝的。在API文档中也很难找到你想要的东西。
这里有任何帮助吗?
答案 0 :(得分:0)
解决方案是在index.php中执行此操作:
Doo::loadCore('db/DooSqlMagic');
$db = new DooSqlMagic;
$db->setDb($dbconfig, 'db'.$config['APP_MODE']);
$db->connect();
$db2 = new DooSqlMagic;
$db2->setDb($dbconfig, 'db2'.$config['APP_MODE']);
$db2->connect();
这在db.conf.php中:
$dbconfig['dbdev'] = array('localhost', 'db', 'root', '', 'mysql', true, 'collate'=>'utf8_unicode_ci', 'charset'=>'utf8');
$dbconfig['dbprod'] = array('localhost', 'db', 'root', '', 'mysql', true, 'collate'=>'utf8_unicode_ci', 'charset'=>'utf8');
$dbconfig['db2dev'] = array('localhost', 'db2', 'root', '', 'mysql', true, 'collate'=>'utf8_unicode_ci', 'charset'=>'utf8');
$dbconfig['db2prod'] = array('localhost', 'db2', 'root', '', 'mysql', true, 'collate'=>'utf8_unicode_ci', 'charset'=>'utf8');
在控制器中使用它:
global $db;
global $db2;
$db->query('.......');
$db2->query('......');