Apa's cara yang lebih disukai untuk terhubung ke database postgresql dengan PHP?

I've telah menggunakan PHP & MySQL untuk usia dan saya mulai menggunakan PostgreSQL sebagai gantinya.

Apa's metode yang disukai?

Apakah itu melalui PDO benda atau ada sesuatu yang lebih baik?

Larutan

PDO benda dengan semangat yang baru. I'd merekomendasikan bahwa selama anda bisa memastikan bahwa anda target platform akan selalu menjalankan PHP 5.2+.

Ada banyak database abstraction layer yang support PostgreSQL yang kompatibel dengan versi PHP; aku'd merekomendasikan ADODB.

Anda benar-benar harus menggunakan PDO atau berbagai lapisan abstraksi bahkan untuk MySQL anda bekerja; dengan cara itu anda tidak't memiliki masalah ini lagi!

Komentar (0)

Menggunakan Zend Db:

require_once 'Zend/Db.php';
$DB_ADAPTER = 'Pdo_Pgsql';
$DB_CONFIG = array(
    'username' => 'app_db_user',
    'password' => 'xxxxxxxxx',
    'host'     => 'localhost',
    'port'     => 5432,
    'dbname'   => 'mydb'
);
$db = Zend_Db::factory($DB_ADAPTER, $DB_CONFIG);
Komentar (0)

Saya, secara pribadi, menggunakan PDO untuk semua database saya bekerja ketika saya memiliki pilihan. Pernyataan siap membuat hidup saya mudah, dan itu adalah yang mulus antara sistem database - berguna jika anda harus bekerja dengan salah satu yang anda're tidak digunakan untuk.

Jika anda ingin roll anda sendiri abstraksi, atau pergi dengan prosedural model, di sini's Postgre fungsi: http://ca.php.net/manual/en/ref.pgsql.php

Komentar (0)

Ada juga yang pg_whatever fungsi]1, tapi don't menggunakannya.

Mereka menggunakan lebih tua, terawat database driver. PDO adalah cara untuk pergi.

Komentar (0)

Saya juga akan menyarankan menciptakan sebuah warisan PDO kelas atau kelas wrapper jika anda memutuskan untuk tidak menggunakan PDO. Ini akan memberikan anda dengan lebih banyak fleksibilitas di masa depan. ie. Menghitung waktu eksekusi query.

Komentar (0)

Tergantung pada skala dari aplikasi anda, anda mungkin ingin mempertimbangkan jumlah koneksi masuk ke backend. Konsensus tampaknya bahwa PHP koneksi terus-menerus dan PostgreSQL don't bekerja sama dengan baik, sehingga sesuatu seperti pgpool-|| harus digunakan sebagai perantara.

Komentar (0)