zend_db连接mysql(附完整代码)(转)
在看这些之前请确保你正确加载了PDO扩展。
作法是编辑php.ini
手动增加下面这两行(前面要没有分号;):
extension=php_pdo.dll
extension=php_pdo_mysql.dll
然后要把extension_dir
指向php_pdo.dll及php_pdo_mysql.dll所在目录,如
extension_dir = "C:php5ext"
OK,lets 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代码如下:
<?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"
}