¿Cuál es la mejor manera de conectarse a una base de datos postgresql desde PHP?

StackOverflow https://stackoverflow.com/questions/10532

  •  08-06-2019
  •  | 
  •  

Pregunta

He estado usando PHP y MySQL para las edades y estoy a punto de empezar a usar PostgreSQL en su lugar.

¿Cuál es el método preferido?

Es a través de la DOP objetos o hay algo mejor?

¿Fue útil?

Solución

PDO objetos son los nuevos calor.Me gustaría recomendar que mientras que usted puede asegurarse de que su plataforma de destino va a ser siempre corriendo PHP 5.2+.

Hay muchas otras capas de abstracción de base de datos que soporte PostgreSQL que son compatibles con versiones anteriores de PHP;Me gustaría recomendar ADODB.

Usted realmente debe ser el uso de una DOP o una diferente de la capa de abstracción, incluso para su MySQL trabajo;de esa manera usted no tendrá este problema de nuevo!

Otros consejos

El 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);

Yo, personalmente, uso de PDO para todos los de mi base de datos de trabajo cuando tengo la opción.Declaraciones preparadas hacer mi vida más fácil, y es inconsútil entre los sistemas de base de datos - es muy útil si usted tiene que trabajar con uno no está acostumbrado.

Si quieres lanzar su propia abstracción, o ir con el modelo procesal, aquí está el Postgre funciones: http://ca.php.net/manual/en/ref.pgsql.php

También hay el pg_whatever funciones, pero no los uso.

Ellos usan más, sin mantención de base de datos de controladores. PDO es el camino a seguir.

También sugiero la creación de una heredado de la clase PDO o una clase de contenedor si usted decide no usar PDO.Esto le proporcionará mucha más flexibilidad en el futuro.es decir.El cálculo de tiempo de ejecución de consulta.

Dependiendo de la escala de su aplicación, usted puede desear considerar el número de conexiones que se va para el backend.El consenso parece ser que PHP conexiones persistentes y PostgreSQL no trabajan bien juntos, algo así como pgpool-|| debe ser utilizado como un intermediario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top