我使用select查询,如下面的代码:
$params = array(
'username' => 'root',
'password' => '',
'dbname' => 'mst2');
$db = Zend_Db::factory('pdo_mysql', $params);
$select = $db->select()
->from(array('dc' => 'delivery_center'))
->join(array('r' => 'region'), 'dc.region_id = r.region_id');
$stmt = $select->query();
$result = $stmt->fetchAll();
这里$ db是我正在使用的数据库的凭据。但是我已经通过以下行在application.ini中指定了凭据:
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password = ''
resources.db.params.dbname = mst2
现在逻辑上我不应该再提供这些凭据。但是我必须使用select查询。那么如何在不再证明数据库凭证的情况下初始化$ db?提前感谢。
答案 0 :(得分:1)
默认情况下,Db资源可用,并在引导时自动初始化。
如果你想在你的应用程序中获得数据库适配器,你可以从bootstrap获取它作为插件资源:
$resource = $bootstrap->getPluginResource('db');
$db = $resource->getDbAdapter();
如果您没有引导引导,则始终可以从FrontController中检索它:
$front = Zend_Controller_Front::getInstance();
$bootstrap = $front->getParam('bootstrap');
答案 1 :(得分:0)
您可以使用
Zend_Db的工厂::($ zend_config_object->资源 - > DB)
但我认为如果你在application.ini中指定了这个,那么zend会自动为你创建db对象,你可以通过
实现它
Zend_Register和键“db”。