0

如何正确连接到mysql db?在我的application.ini文件中,我放置了所有数据库详细信息:

[master]
adapter = PDO_MYSQL
params.host = localhost
params.username = root
params.password = ''
params.dbname = accounts_db

我想获取这些详细信息并连接到我的数据库。

4

3 回答 3

1

试试这个它的工作

resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password = 
resources.db.params.dbname = accounts_db

在我的网站上,它将完美运行

于 2012-07-11T06:05:34.493 回答
1

当它是默认的 mysql 数据库适配器时,您可以在底部添加该行,在这种情况下它将是自动的。在 Zend_Db_Table 对象等中使用。

resources.db.adapter="pdo_mysql"
resources.db.params.host="localhost"
resources.db.params.username="username"
resources.db.params.password="pass"
resources.db.params.dbname="dbname"                       
resources.db.isDefaultTableAdapter=true   

另一方面,您可以在任何地方获取适配器

Zend_Db_Table::getDefaultAdapter();

祝你好运。

于 2012-07-11T09:35:33.860 回答
1

Zend Framework 并不是开始应用程序开发的最简单的框架。我最好的建议是开始阅读快速入门文档,尤其是涉及Zend_ApplicationZend_DbZend_LayoutZend_Controller的章节。

要回答您的问题,添加数据库配置application.ini不是设置数据库连接。您应该使用以下方法引导应用程序资源:

[production]

; Database (production)
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "my_user_who_is_not_root"
resources.db.params.password = "my_strong_password"
resources.db.params.dbname = "accounts_db"
resources.db.isDefaultTableAdapter = true

; Other configurations
; ...

[development : production]

; Database (development settings)
resources.db.params.username = "root"
resources.db.params.password = ""
resources.db.params.dbname = "accounts_db_dev"

此时,您的数据库连接已准备好查询服务器

在您的控制器(或其他任何东西)中,您可以使用以下方法检索连接:

Zend_Db_Table::getDefaultAdapter();

您还可以在您的Bootstrap添加对连接的引用Zend_Register

protected function _initDbRegister()
{
    $db = $this->bootstrap('Db')->getResource('Db');
    Zend_Register::set('Zend_Db', $db);
}

稍后,您可以调用Zend_Register::get('Zend_Db')以获取实例。

于 2012-07-11T10:04:22.633 回答