2008-08-14 24 views

Antwort

4

PDO-Objekte sind die neue Schärfe. Ich würde empfehlen, solange Sie sicherstellen können, dass Ihre Zielplattform immer PHP 5.2+ ausführen wird.

Es gibt viele andere Datenbankabstraktionsschichten, die PostgreSQL unterstützen, die mit älteren Versionen von PHP kompatibel sind. Ich würde empfehlen ADODB.

Sie sollten wirklich PDO oder eine andere Abstraktionsschicht auch für Ihre MySQL-Arbeit verwenden; Auf diese Weise haben Sie dieses Problem nicht wieder!

1

Ich persönlich benutze PDO für alle meine Datenbankarbeit, wenn ich die Wahl habe. Vorbereitete Anweisungen machen mir das Leben leichter, und es ist nahtlos zwischen Datenbanksystemen - praktisch, wenn Sie mit einer arbeiten müssen, die Sie nicht gewohnt sind.

Wenn Sie Ihre eigene Abstraktion rollen, oder mit dem Vorgehensmodell gehen, hier ist die Postgre Funktionen: http://ca.php.net/manual/en/ref.pgsql.php

0

Ich würde auch eine geerbte PDO-Klasse oder eine Wrapper-Klasse empfehlen die Erstellung, wenn Sie sich nicht entscheiden PDO zu verwenden . Dies würde Ihnen in Zukunft viel mehr Flexibilität bieten. dh. Berechnen der Ausführungszeit von Abfragen

2

Mit 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

Je nach Umfang Ihrer Anwendung, können Sie möchten die Anzahl der Verbindungen zum Backend gehen zu berücksichtigen. Der Konsens scheint zu sein, dass persistente PHP-Verbindungen und PostgreSQL nicht gut zusammenarbeiten, also sollte etwas wie pgpool-|| als Vermittler verwendet werden.

1

Es gibt auch the pg_whatever functions, aber verwenden Sie sie nicht.

Sie verwenden ältere, nicht verwaltete Datenbanktreiber. PDO ist der Weg zu gehen.