欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

zend_db连接mysql(附完整代码)

程序员文章站 2022-05-13 08:58:07
...

在看这些之前请确保你正确加载了PDO扩展。

作法是编辑php.ini
手动增加下面这两行(前面要没有分号;):
extension=php_pdo.dll
extension=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代码如下:

//...省略

$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代码如下:

class 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.php
class 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"
}