我一直使用 Application_Model_DbTable 来处理数据库,但我使用的是 MySql。我像这样配置了我的 application.ini:
resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = admin
resources.db.params.password = 12345
resources.db.params.dbname = daedu
resources.db.params.charset = utf8
并使用了 dbtable 的标准函数,例如 fetchAll 或 insert。如何获得相同的结果,但使用 PostgreSQL?
我已经安装了 PostgreSQL,并且通过 pgAdmin III 我已经制作了数据库和表。问题是如何使用 db-table 将它连接到 Zend?
我是这样配置的:
resources.db.adapter = PDO_PGSQL
resources.db.params.host = localhost
resources.db.params.port = 5432
resources.db.params.username = postgres
resources.db.params.password = 12345
resources.db.params.dbname = postgres
resources.db.params.charset = utf8
我通过 dbtable 使用它,如下所示:
class Application_Model_DbTable_Postrgres extends Zend_Db_Table_Abstract
{
protected $_name = 'postgres';
public function insert(){
$data = array(
'name' => "dan"
);
$this->insert($data);
}
}
在控制器中:
$f = new Application_Model_DbTable_Postrgres();
$f->insert();
但是页面没有打开(错误是:net::ERR_EMPTY_RESPONSE)并且表中没有新的插入,当我尝试fetchAll
在 db 表中时,我得到应用程序错误。