7

私は長年 PHP と MySQL を使用してきましたが、代わりに PostgreSQL の使用を開始しようとしています。

好ましい方法は何ですか?

PDOオブジェクト経由ですか、それとももっと良いものがありますか?

4

6 に答える 6

4

PDO オブジェクトは新しい話題です。ターゲット プラットフォームが常に PHP 5.2 以降を実行していることを確認できる限り、それをお勧めします。

古いバージョンの PHP と互換性のある PostgreSQL をサポートするデータベース抽象化レイヤーは他にも多数あります。ADODBをお勧めします。

MySQL の作業であっても、実際には PDO または別の抽象化レイヤーを使用する必要があります。そうすれば、この問題が再び発生することはありません。

于 2008-08-14T00:54:51.030 に答える
2

Zend データベースの使用:

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);
于 2008-08-14T05:11:13.930 に答える
1

個人的には、選択できる場合はすべてのデータベース作業に PDO を使用しています。プリペアド ステートメントは私の生活を楽にしてくれます。データベース システム間でシームレスです。慣れていないシステムで作業する必要がある場合に便利です。

独自の抽象化を展開する場合、または手続き型モデルを使用する場合は、Postgre 関数を次に示します: http://ca.php.net/manual/en/ref.pgsql.php

于 2008-08-14T00:55:59.217 に答える
1

pg_whatever 関数もありますが、使用しないでください。

古い、メンテナンスされていないデータベース ドライバーを使用します。 PDOは行く方法です。

于 2008-09-20T05:01:18.990 に答える
0

PDO を使用しない場合は、継承された PDO クラスまたはラッパー クラスを作成することもお勧めします。これにより、将来の柔軟性が大幅に向上します。すなわち。クエリ実行時間の計算。

于 2008-08-14T04:46:37.817 に答える
0

アプリケーションの規模によっては、バックエンドへの接続数を考慮する必要がある場合があります。PHP の永続的な接続と PostgreSQL はうまく連携しないというのがコンセンサスのようです。仲介役として利用するべきです。

于 2008-08-14T05:31:03.327 に答える