我有这个application.ini
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password = password
resources.db.params.dbname = zend_db
但我想在用户登录后选择数据库: 例如
以管理员身份登录 ---> 选择 mysql 数据库:adminYYY
以 TEST 身份登录 ---> 选择 mysql 数据库:TestXXX
以 cat 身份登录 ---> 选择 mysql 数据库:catZZZ
最佳答案
您可能需要使用 Zend_Application_Resource_Multidb 实例化多个连接到您的服务器,每个连接用于不同的数据库。像这样:
resources.multidb.dbadmin.params.host = localhost
resources.multidb.dbadmin.params.username = root
resources.multidb.dbadmin.params.password = password
resources.multidb.dbadmin.params.dbname = 'admin'
resources.multidb.dbtest.params.host = localhost
resources.multidb.dbtest.params.username = root
resources.multidb.dbtest.params.password = password
resources.multidb.dbtest.params.dbname = 'test'
resources.multidb.dbcat.params.host = localhost
resources.multidb.dbcat.params.username = root
resources.multidb.dbcat.params.password = password
resources.multidb.dbcat.params.dbname = 'cat'
因此您可以编写一个自定义的身份验证类,您将使用它来检索每个数据库连接:
$resource = $bootstrap->getPluginResource('multidb');
$dbadmin = $resource->getDb('dbadmin');
$dbtest = $resource->getDb('dbtest');
$dbcat = $resource->getDb('dbcat');
或者在你的 bootstrap 中使用这个技巧。
关于php - Zend Framework 1.2 在用户登录后选择数据库运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25998980/