使用DooPHP的多个数据库

时间:2011-06-17 13:34:35

标签: php database frameworks doophp

我正在检查DooPHP,我似乎无法找到如何同时使用多个数据库连接。我只想拥有多个数据库对象并使用他们的方法来查询数据库。现在我正在这样做:

Doo::db()->setDb($dbconfig, $config['APP_MODE']);
Doo::db()->query('.......');

然后当我想使用另一个数据库时再次设置。但这是迟钝的。在API文档中也很难找到你想要的东西。

这里有任何帮助吗?

1 个答案:

答案 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('......');