0

DooPHP を調べていますが、複数のデータベース接続を同時に使用する方法がわかりません。複数のデータベース オブジェクトを持ち、それらのメソッドを使用して DB をクエリしたいだけです。今私はこれをやっています:

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

別のDBを使用したい場合は、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 に答える