您的位置主页 > PHP

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:\php5\ext"
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);    }}?>
访问 <A href="http://happycms/article/listall">http://happycms/article/listall</A>
得到以下输出:
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) "<A href="mailto:s...@df.com">s...@df.com</A>"    ["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"  }