zend-framework – 使用Zend_Db数据库连接
发布时间:2020-12-13 22:01:55 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试自学Zend Framework.我在使用自定义框架方面有一些丰富的经验,但从未使用过Zend.这就像尝试使用带有连指手套的刀叉一样. 我有一个系统启动并运行.正在applition.ini文件中创建数据库连接而没有错误. 我正在尝试使用此连接到数据库来执行基本SQL. a
我正在尝试自学Zend Framework.我在使用自定义框架方面有一些丰富的经验,但从未使用过Zend.这就像尝试使用带有连指手套的刀叉一样.
我有一个系统启动并运行.正在applition.ini文件中创建数据库连接而没有错误. 我正在尝试使用此连接到数据库来执行基本SQL. application.ini有以下几行: db.adapter = PDO_MYSQL db.params.host = localhost db.params.username = cpanel_dbuser db.params.password = 123456 db.params.dbname = cpanel_dbname 我正在尝试连接到/public/index.php中的数据库 $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini','production'); $application->db = Zend_Db::factory($config->db); Zend_Db_Table::setDefaultAdapter($db); 我得到的错误是: Fatal error: Uncaught exception 'Zend_Db_Exception' with message 'Adapter name must be specified in a string' in /home/path/library/Zend/Db.php:226 Stack trace: #0 /home/path/public/index.php(32): Zend_Db::factory(Array) #1 {main} thrown in /home/path/library/Zend/Db.php on line 226 如果我print_r Config对象 Zend_Config Object ( [_allowModifications:protected] => [_index:protected] => 0 [_count:protected] => 2 [_data:protected] => Array ( [adapter] => PDO_MYSQL /* ... more stuff ... */ 根据我对教程的理解和PDF我正在工作,如果我得到这个连接工作,我将能够在控制器的indexAction中做如下的奇妙惊奇 $data = $this->db->fetchAll(‘SELECT * FROM table’); foreach ($data as $row) { echo $row[‘table_fieldname’]; } 然后开始为我拥有的表格编写模型. 在这一点上,有一个非常严重的诱惑,切入角落,并按照我已经知道的方式这样做,但这完全违背了学习在框架内工作的目的. 任何人都可以为我弥补差距(或指向一个可以清除它的资源)? 解决方法
在config目录里面的application.ini文件中
resources.db.adapter = PDO_MYSQL resources.db.isDefaultAdapter = true resources.db.params.host = localhost resources.db.params.username = username resources.db.params.password = pwd resources.db.params.dbname = mydatabase 无论何时何地你需要$db就可以了 $db = Zend_Db_Table::getDefaultAdapter() 这是最好的方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |