2008-08-14 24 views

Respuesta

4

Los objetos PDO son el nuevo hotness. Lo recomendaría siempre que pueda asegurarse de que su plataforma objetivo siempre ejecute PHP 5.2+.

Hay muchas otras capas de abstracción de bases de datos que admiten PostgreSQL que son compatibles con las versiones anteriores de PHP; Yo recomendaría ADODB.

Realmente debería estar utilizando PDO o una capa de abstracción diferente incluso para su trabajo de MySQL; ¡De esa forma no tendrás este problema otra vez!

1

Yo, personalmente, uso PDO para todo el trabajo de mi base de datos cuando tengo la opción. Las declaraciones preparadas hacen que mi vida sea más fácil, y es perfecta entre sistemas de bases de datos, lo cual es útil si tiene que trabajar con una que no está acostumbrado.

Si desea rodar su propia abstracción, o ir con el modelo de procedimiento, esto es las funciones Postgre: http://ca.php.net/manual/en/ref.pgsql.php

0

También sugeriría la creación de una clase DOP heredada o una clase contenedora si decide no utilizar DOP . Esto le proporcionaría mucha más flexibilidad en el futuro. es decir. Cálculo del tiempo de ejecución de la consulta.

2

uso de 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

Dependiendo de la escala de su aplicación, es posible que desee considerar el número de conexiones que van al backend. El consenso parece ser que las conexiones persistentes de PHP y PostgreSQL no funcionan bien juntas, por lo que debe usarse algo como pgpool-|| como intermediario.

1

También hay the pg_whatever functions, pero no los use.

Utilizan controladores de base de datos antiguos y no mantenidos. PDO es el camino a seguir.

Cuestiones relacionadas