私はいつも 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
fetchAll や insert などの dbtable の標準関数を使用しました。同じ結果を得る方法はありますが、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)、テーブルに新しい挿入がありません。db テーブルに挿入しようとするとfetchAll
、アプリケーション エラーが発生します。