Что предпочтительный путь состоит в том, чтобы подключить к postgresql базе данных от PHP?

Я использовал PHP & MySQL целую вечность, и собираюсь начать использовать PostgreSQL вместо этого.

Каков предпочтительный метод?

Это через объекты PDO или является там чем-то лучше?

6
задан George 4 April 2013 в 15:31
поделиться

6 ответов

Объекты PDO являются новой жаркостью. Я рекомендовал бы, что, пока можно удостовериться, что целевая платформа будет всегда выполнять PHP 5.2 +.

Существует много других уровней абстракции базы данных, которые поддерживают PostgreSQL, которые совместимы с более старыми версиями PHP; я рекомендовал бы ADODB.

Необходимо действительно использовать PDO или другой уровень абстракции даже для работы MySQL; тем путем у Вас не будет этой проблемы снова!

4
ответ дан 16 December 2019 в 21:49
поделиться

Я, лично, использую PDO для всей своей работы базы данных, когда у меня есть выбор. Подготовленные операторы делают мою жизнь легкой, и это является бесшовным между системами баз данных - удобный, если необходимо работать с одним, Вы не привыкли к.

Если Вы хотите к абстракции самокрутки или идете с процедурной моделью, вот функции Postgre: http://ca.php.net/manual/en/ref.pgsql.php

1
ответ дан 16 December 2019 в 21:49
поделиться

Использование дб зенда:

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);
2
ответ дан 16 December 2019 в 21:49
поделиться

Я также предложил бы создать наследованный класс PDO или класс обертки, если Вы решаете не использовать PDO. Это предоставило бы Вам намного больше гибкости в будущем. т.е. Вычисление времени выполнения запросов.

0
ответ дан 16 December 2019 в 21:49
поделиться

Существуют также функции pg_whatever, но не используют их.

Они используют более старые, несохраняемые драйверы базы данных. PDO является способом пойти.

1
ответ дан 16 December 2019 в 21:49
поделиться

В зависимости от масштаба Вашего приложения Вы могли бы хотеть рассмотреть количество соединений, идущих в бэкенд. Согласие, кажется, что постоянные соединения PHP и PostgreSQL не работают хорошо вместе, таким образом, что-то как pgpool-|| должно использоваться в качестве посредника.

0
ответ дан 16 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: