【发布时间】:2011-09-04 06:38:20
【问题描述】:
我想使用 zend_db 独立 cos zend 框架对我的项目来说太多了,但我是新手, 这样做是否正确:
$pdoParams = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8;');
$params = array( 'host' => 'localhost', 'username' => 'ss_fraat', 'password' => 'jos10', 'dbname' => '_a2hDB', 'driver_options' => $pdoParams ); try { $db = Zend_Db::factory('PDO_MYSQL', $params); //set default adapter Zend_Db_Table_Abstract::setDefaultAdapter($db); } catch (Exception $e) { exit($e->getMessage()); } //save Db in registry for later use Zend_Registry::set('dbAdapter', $db);
然后在任何班级都这样做:
$db = Zend_Registry::get('db');
/** quote to avoid sql injection */
$date = $db->quote('1980-01-01');
$sql = 'SELECT * FROM product WHERE name = ' . $date;
$result = $db->query($sql);
$db->query(); //run a query
我真的需要这样做
Zend_Db_Table_Abstract::setDefaultAdapter($db);
我从一个网站得到这个代码, 如果我不使用完整的 zend 框架,是否有必要使用 Zend_Db_Table_Abstract, 或者最好使用这个:
$db = Zend_Db::factory( ...options... ); $select = new Zend_Db_Select($db);
我想要的是在我的引导 php 页面中设置一个 pdo/mysql 连接,并且能够在任何类中获取该数据库实例,而无需启动新的连接来执行查询,但我不确定如何使用 Zend_Db_Table_Abstract或 Zend_Db_Select 是否使用注册表 Zend_Registry::set('dbAdapter', $db) 非常感谢
【问题讨论】:
标签: zend-db