zend_db连接mysql(附完整代码)
在看这些之前请确保你正确加载了PDO扩展。
作法是编辑php.ini手动增加下面这两行(前面要没有分号;):extension=php_pdo.dllextension=php_pdo_mysql.dll
然后要把extension_dir指向php_pdo.dll及php_pdo_mysql.dll所在目录,如extension_dir = 'C:php5ext'
OK,let's go..
index.php 网站首页,也是唯一入口
PHP代码如下:
<?php//...省略
$params = array ('host';;=> '127.0.0.1', 'username' => 'root', 'password' => '123456', 'dbname'=> 'happycms');
$db = Zend_Db::factory('pdoMysql', $params);Zend::register('db', $db);?>
lib/App/Article.php
PHP代码如下:
<?phpclass App_Article { private $db; function App_Article() { $this->db = Zend::registry('db'); }
function listAll() { $result = $this->db->query('SELECT * FROM article'); $rows = $result->fetchAll();
Zend::dump($rows); }
function listByCategory() { }
//...省略}
?>
PHP代码如下:
ArticleController.phpclass articleController extends Zend_Controller_Action; { private $view; private $article;
function __construct() {;;;; $this->view = Zend::registry('view'); $this->article = new App_Article();;;;; }
public function listAllAction() { $this->article->listAll(); $this->view->title='View Articles' echo $this->view->render(TPL_DIR.'/tplView.php'); }
function __call($action, $arguments) {;;;; $this->_redirect('./'); print_r($action); print_r($arguments); }}?>
访问 http://happycms/article/listall
得到以下输出:
array(1) { [0] => array(15) { ['articleid'] => string(1) '1' ['categoryid'] => string(1) '0' ['articletitle'] => string(4) 'test' ['articlefromwhere'] => string(3) 'sdf' ['articlekeywords'] => string(5) 'sdfds' ['articledescription'] => string(4) 'test' ['articlebody'] => string(9) 'sffsdfsdf' ['authorname'] => string(8) 'haohappy' ['authoremail'] => string(11) 's...@df.com' ['issticky'] => string(1) '0' ['isrecommanded'] => string(1) '0' ['includeattachment'] => string(1) '0' ['addtime'] => string(19) '0000-00-00 00:00:00' ['lastedittime'] => string(19) '0000-00-00 00:00:00' ['checktime'] => string(19) '0000-00-00 00:00:00' }