我正在检查 DooPHP,但似乎找不到如何同时使用多个数据库连接。我只想拥有多个数据库对象并使用它们的方法来查询数据库。现在我正在这样做:
Doo::db()->setDb($dbconfig, $config['APP_MODE']);
Doo::db()->query('.......');
然后当我想使用另一个数据库时再次 setDb 。这虽然是落后的。在 API 文档中也很难找到您要查找的内容。
这里有什么帮助吗?
我正在检查 DooPHP,但似乎找不到如何同时使用多个数据库连接。我只想拥有多个数据库对象并使用它们的方法来查询数据库。现在我正在这样做:
Doo::db()->setDb($dbconfig, $config['APP_MODE']);
Doo::db()->query('.......');
然后当我想使用另一个数据库时再次 setDb 。这虽然是落后的。在 API 文档中也很难找到您要查找的内容。
这里有什么帮助吗?
解决方案是在 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('......');