如何正确连接mysql db?在我的application.ini
文件中,我已经放置了所有数据库详细信息:
[master]
adapter = PDO_MYSQL
params.host = localhost
params.username = root
params.password = ''
params.dbname = accounts_db
我想获取这些详细信息并连接到我的数据库。
答案 0 :(得分: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
在我的网站中,它将完美运作
答案 1 :(得分: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();
祝你好运。
答案 2 :(得分:1)
Zend Framework不是启动应用程序开发的最简单框架。我最好的建议是开始阅读quickstart documentation,尤其是涉及Zend_Application,Zend_Db,Zend_Layout以及Zend_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')
来获取实例。