2008-08-14 20 views

Odpowiedz

4

Obiekty PDO są nową goryczą. Polecam, o ile możesz mieć pewność, że Twoja platforma docelowa będzie zawsze obsługiwać PHP 5.2+.

Istnieje wiele innych warstw abstrakcji baz danych obsługujących PostgreSQL, które są kompatybilne ze starszymi wersjami PHP; Polecam ADODB.

Powinieneś naprawdę używać PDO lub innej warstwy abstrakcji, nawet dla twojej pracy MySQL; w ten sposób nie będziesz mieć tego problemu ponownie!

1

Ja osobiście używam PDO do wszystkich moich prac w bazie danych, kiedy mam wybór. Przygotowane oświadczenia ułatwiają mi życie i są płynne między systemami baz danych - przydatne, jeśli musisz pracować z tym, do którego nie jesteś przyzwyczajony.

Jeśli chcesz, aby rzucić swoją abstrakcję, lub przejść z modelu procesowego, oto funkcje Postgre: http://ca.php.net/manual/en/ref.pgsql.php

0

Chciałbym również zasugerować stworzenie dziedziczonej klasy PDO lub klasy otoki, jeśli nie zdecydują się skorzystać z PDO . Zapewniłoby to o wiele większą elastyczność w przyszłości. to znaczy. Obliczanie czasu wykonania zapytania.

2

Korzystanie 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

W zależności od skali aplikacji, można rozważyć liczbę połączeń, przechodząc do zaplecza. Konsensus wydaje się, że stałe połączenia PHP i PostgreSQL nie działają dobrze razem, więc coś w rodzaju pgpool-|| powinno być używane jako pośrednik.

1

Istnieje również the pg_whatever functions, ale nie należy ich używać.

Używają starszych, nieobsługiwanych sterowników baz danych. PDO to droga.