0

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

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

然后当我想使用另一个数据库时再次 setDb 。这虽然是落后的。在 API 文档中也很难找到您要查找的内容。

这里有什么帮助吗?

4

1 回答 1

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('......');
于 2011-06-18T13:45:25.440 回答