2008-08-14 88 views

Trả lời

4

Đối tượng PDO là điểm nóng mới. Tôi khuyên bạn nên miễn là bạn có thể đảm bảo rằng nền tảng mục tiêu của bạn sẽ luôn chạy PHP 5.2+.

Có nhiều lớp trừu tượng cơ sở dữ liệu khác hỗ trợ PostgreSQL tương thích với các phiên bản cũ hơn của PHP; Tôi muốn giới thiệu ADODB.

Bạn thực sự nên sử dụng PDO hoặc một lớp trừu tượng khác ngay cả đối với công việc MySQL của bạn; theo cách đó bạn sẽ không gặp vấn đề này nữa!

1

Tôi, cá nhân, sử dụng PDO cho tất cả công việc cơ sở dữ liệu của tôi khi tôi có lựa chọn. Các câu lệnh chuẩn bị làm cho cuộc sống của tôi trở nên dễ dàng, và nó liền mạch giữa các hệ thống cơ sở dữ liệu - tiện dụng nếu bạn phải làm việc với một cái mà bạn không quen.

Nếu bạn muốn cuộn trừu tượng của riêng mình, hoặc đi với mô hình thủ tục, đây là chức năng Postgre: http://ca.php.net/manual/en/ref.pgsql.php

0

Tôi cũng sẽ khuyên bạn nên tạo một lớp PDO thừa hưởng hoặc một lớp wrapper nếu bạn quyết định không sử dụng PDO . Điều này sẽ giúp bạn linh hoạt hơn trong tương lai. I E. Đang tính toán thời gian thực hiện truy vấn.

2

Sử dụng 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); 
0

Tùy thuộc vào quy mô của ứng dụng của bạn, bạn có thể muốn xem xét số lượng kết nối đi đến backend. Sự đồng thuận dường như là các kết nối liên tục của PHP và PostgreSQL không hoạt động tốt với nhau, vì vậy một số thứ như pgpool-|| nên được sử dụng như một trung gian.

1

Ngoài ra còn có the pg_whatever functions, nhưng không sử dụng chúng.

Họ sử dụng trình điều khiển cơ sở dữ liệu cũ hơn, không bị đơn. PDO là con đường để đi.

Các vấn đề liên quan