php подключение к базе данных postgresql

PHP 5.4.39 в связке с PostgreSQL – настройка подключения и описание основных функций

В материале мы рассмотрим возможность взаимодействия языка программирования PHP версии 5.4.39 с СУБД PostgreSQL 9.1.13, мы научимся связывать PHP и PostgreSQL, узнаем, какие есть функции PHP для работы с PostgreSQL, а также разберем несколько примеров использования этих функций.

Для тех, кто увлекается web-программированием и в частности программированием на PHP не секрет что самой распространенной связкой языка и СУБД является связка PHP и MySQL, но иногда возникает необходимость взаимодействовать и с другими базами, например с PostgreSQL. Кстати, PHP поддерживает работу не только с MySQL и PostgreSQL, но еще и со многими другими СУБД, об этом мы говорили в материале PHP и базы данных. А сегодня мы подробней остановимся именно на работе с PostgreSQL, и начнем мы, конечно же, с вопроса как настроить взаимодействие PHP и PostgreSQL.

php подключение к базе данных postgresql. Смотреть фото php подключение к базе данных postgresql. Смотреть картинку php подключение к базе данных postgresql. Картинка про php подключение к базе данных postgresql. Фото php подключение к базе данных postgresql

Примечание! В качестве операционной системы у нас будет выступать Windows 7, в качестве web-сервера Apache 2.2.2, версия PHP 5.4.39, версия PostgreSQL 9.1.13.

Настройка подключения PHP и PostgreSQL

Первое что нужно сделать, это убедиться, что в каталоге с PHP присутствует библиотека libpq.dll. Затем в файле php.ini найди строку, отвечающую за подключение модуля PostgreSQL и раскомментировать ее, а именно

Перезапускаем Apache и запускаем phpinfo(), и если Вы найдете блок pgsql, то все, библиотеку PostgreSQL Вы подключили.

php подключение к базе данных postgresql. Смотреть фото php подключение к базе данных postgresql. Смотреть картинку php подключение к базе данных postgresql. Картинка про php подключение к базе данных postgresql. Фото php подключение к базе данных postgresql

Если у Вас нет данного раздела, то попробуйте скопировать libpq.dll из каталога PostgreSQL (по умолчанию C:\Program Files\PostgreSQL и так далее) в каталог с PHP с заменой старого, и перезапустите Apache еще раз.

Основные функции PHP для работы с PostgreSQL

pg_connect – открывает соединение с базой данных, возвращает указатель соединения.

pg_query – выполняет запрос к базе данных, возвращает результат запроса.

pg_fetch_assoc – преобразовывает результат запроса в ассоциативный массив.

pg_close – закрывает соединение с базой данных.

Пример работы перечисленных функций

php подключение к базе данных postgresql. Смотреть фото php подключение к базе данных postgresql. Смотреть картинку php подключение к базе данных postgresql. Картинка про php подключение к базе данных postgresql. Фото php подключение к базе данных postgresql

В данном случае мы подключаемся к серверу, который расположен локально, по порту 5432, к базе testbase под пользователем admin с паролем 12345 и выполняем запрос (просто статические данные) к базе данных, затем мы преобразовываем результат в ассоциативный массив, выводим на экран и закрываем соединение.

pg_num_rows – возвращает количество строк в наборе данных, который вернул нам запрос.

pg_num_fields — возвращает количество полей в наборе данных, который вернул нам запрос.

pg_fetch_result – возвращает одно значение из результата запроса.

pg_fetch_row — преобразовывает результат запроса в массив.

php подключение к базе данных postgresql. Смотреть фото php подключение к базе данных postgresql. Смотреть картинку php подключение к базе данных postgresql. Картинка про php подключение к базе данных postgresql. Фото php подключение к базе данных postgresql

pg_fetch_object – преобразовывает результат запроса в объект.

pg_field_name – возвращает название поля по его номеру.

pg_field_num – возвращает номер поля по его названию.

pg_version – возвращает сведения о протоколе взаимодействия, версии клиента и версии сервера в виде массива.

pg_escape_string – экранирует спецсимволы в строке.

pg_dbname – возвращает название базы данных.

pg_affected_rows – возвращает количество затронутых строк при update, insert и delete.

php подключение к базе данных postgresql. Смотреть фото php подключение к базе данных postgresql. Смотреть картинку php подключение к базе данных postgresql. Картинка про php подключение к базе данных postgresql. Фото php подключение к базе данных postgresql

На этом я предлагаю заканчивать, так как для основ этого достаточно, описание всех функций Вы можете найти на сайте PHP вот здесь, ну все, пока!

Источник

Краткое руководство. Подключение к службе «База данных Azure для PostgreSQL — отдельный сервер» и выполнение запроса данных с помощью PHP

В этом кратком руководстве объясняется, как подключиться к базе данных Azure для PostgreSQL с помощью приложения PHP. Здесь также показано, как использовать инструкции SQL для запроса, вставки, обновления и удаления данных в базе данных. В этой статье предполагается, что у вас уже есть опыт разработки на PHP и вы только начали работу с базой данных Azure для PostgreSQL.

Предварительные требования

В качестве отправной точки в этом кратком руководстве используются ресурсы, созданные в соответствии со следующими материалами:

Установка PHP

Установите PHP на своем сервере или создайте веб-приложение Azure с PHP.

Windows

Linux (Ubuntu)

MacOS

Получение сведений о подключении

Получите сведения, необходимые для подключения к базе данных Azure.для PostgreSQL. Вам потребуется полное имя сервера и учетные данные для входа.

Подключение и создание таблицы

Используйте приведенный ниже код для подключения и создайте таблицу с помощью инструкции SQL CREATE TABLE. Добавьте строки в таблицу, применив инструкцию SQL INSERT INTO.

Код вызывает метод pg_connect(), чтобы подключиться к базе данных Azure для PostgreSQL. Затем он вызывает метод pg_query() несколько раз, чтобы выполнить несколько команд, и метод pg_last_error(), чтобы проверить сведения, если каждое выполнение завершилось ошибкой. После этого вызывается метод mysqli_close, чтобы разорвать подключение.

Чтение данных

Используйте указанный ниже код с инструкцией SQL SELECT для подключения и чтения данных.

Обновление данных

Используйте указанный ниже код с инструкцией SQL UPDATE для подключения и обновления данных.

Код вызывает метод pg_connect(), чтобы подключиться к базе данных Azure для PostgreSQL. Затем он вызывает метод pg_query(), чтобы выполнить команду, и метод pg_last_error(), чтобы проверить сведения, если произошла ошибка. После этого вызывается метод mysqli_close, чтобы разорвать подключение.

Удаление данных

Используйте указанный ниже код с инструкцией SQL DELETE для подключения и чтения данных.

Код вызывает метод pg_connect(), чтобы подключиться к базе данных Azure для PostgreSQL. Затем он вызывает метод pg_query(), чтобы выполнить команду, и метод pg_last_error(), чтобы проверить сведения, если произошла ошибка. После этого вызывается метод mysqli_close, чтобы разорвать подключение.

Очистка ресурсов

Чтобы очистить все ресурсы, используемые во время этого краткого руководства, удалите группу ресурсов с помощью следующей команды:

Источник

pg_connect — Открывает соединение с базой данных PostgreSQL

Описание

Список параметров

Строка connection_string может быть пустой строкой, или содержать несколько параметров разделенных пробелами. Каждый параметр указывается как keyword = value. Пробелы вокруг знака равно необязательны. Пустые строки в качестве значения или значения, содержащие пробелы отделяются одинарными кавычками, как например, keyword = ‘a value’. Для задания одинарных кавычек и обратных слешей в качестве значений их необходимо экранировать обратным слешем, то есть \’ и \\.

Параметр options служит для установки параметров командной строки, которые обработаны сервером.

Возвращаемые значения

Список изменений

Примеры

Пример #1 Использование функции pg_connect()

= pg_connect ( «dbname=mary» );
//подключиться к базе «mary»

$dbconn2 = pg_connect ( «host=localhost port=5432 dbname=mary» );
//подключиться к базе «mary» на хосте «localhost», порт «5432»

$dbconn3 = pg_connect ( «host=sheep port=5432 dbname=mary user=lamb password=foo» );
//подключиться к базе «mary» на хосте «sheep», используя имя пользователя и пароль

$dbconn5 = pg_connect ( «host=localhost options=’—client_encoding=UTF8′» );
//подключиться к базе на хосте «localhost» и передать параметр командной строки, задающий кодировку UTF-8
?>

Смотрите также

Источник

pg_pconnect

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_pconnect — Открывает постоянное соединение с сервером PostgreSQL

Описание

pg_pconnect() устанавливает соединение с базой данных PostgreSQL. Возвращает ресурс соединения необходимый для работы большинства функций PostgreSQL.

Список параметров

Возвращаемые значения

Примеры

Пример #1 Пример использования pg_pconnect()

= pg_pconnect ( «dbname=mary» );
//подключиться к базе «mary»

$dbconn2 = pg_pconnect ( «host=localhost port=5432 dbname=mary» );
// подключиться к базе «mary» на хосте «localhost», порт «5432»

$dbconn3 = pg_pconnect ( «host=sheep port=5432 dbname=mary user=lamb password=foo» );
//подключиться к базе «mary» на хосте «sheep», используя имя пользователя и пароль

Смотрите также

User Contributed Notes 10 notes

If you have many concurrent connections to your database, you should use the PostgreSQL connection pooler PgBouncer (developed by the Skype-team). When using pgbouncer, make sure you use pg_connect and NOT pg_pconnect. Also, make sure you close your connections with pg_close.

* PostgreSQL pooling article by Last.fm:
http://www.last.fm/user/Russ/journal/2008/02/21
/zd_postgres_connection_pools:_pgpool_vs._pgbouncer

As of Aug 2007, some suggestions from the postgresql forums
on pg_pconnect(), faster postgres connections, and connection pooling:

A contribution to the transaction issue raised by «garrett at bgb dot cc».

The author describes a hint to avoid the scenario above:
You can create a function for resolving transactions and locks erroneously not closed. For invoking the function after execution of a script it has to be registered with the function register_shutdown_function():

How to reset persistent connections:

If a transaction is in progress when page processing ends, is it aborted before the connection placed bak in the pool? Or is the connection added «as is»?

It would seem that the correct thing to do is to always ‘ABORT’ before adding to the pool.

As a note, this would be a good time to check and see if the connection is still open before readding it. Thus allowing closed connections to be cleaned up over time, instead of hanging around for ever as they do now.

Источник

Требования к разработке и установке

Чтобы установить PostgreSQL на Linux и Windows, мы обсудили здесь подробное описание процесса установки.

Вы можете использовать веб-сервер Apache, PHP, PostgreSQL и phpPgAdmin (который является отличным инструментом для управления проектами PHP-PostgreSQL) для создания базового веб-приложения.

Подключайтесь к PostgreSQL с помощью собственных функций PHP

Предположим, у нас есть следующая таблица (книга) в базе данных «postgres». Вот структура таблицы:

PHP предоставляет множество функций для работы непосредственно с базами данных PostgreSQL. Вот некоторые функции:

pg_connect : функция используется для открытия соединения PostgreSQL.

Версия : (PHP 4, PHP 5)

Возвращаемое значение : ресурс соединения PostgreSQL в случае успеха, FALSE в случае ошибки.

pg_query: выполнить запрос

Версия : (PHP 4> = 4.2.0, PHP 5)

Возвращаемое значение : ресурс результата запроса в случае успеха или FALSE в случае ошибки.

Вставить данные в таблицу с помощью PHP

Мы создадим HTML-форму и PHP-скрипт для вставки данных в таблицу «book». Вот код (имя файла insert.php):

Вот как выглядит форма для вставки данных:

php подключение к базе данных postgresql. Смотреть фото php подключение к базе данных postgresql. Смотреть картинку php подключение к базе данных postgresql. Картинка про php подключение к базе данных postgresql. Фото php подключение к базе данных postgresql

Используйте эту форму, чтобы ввести некоторые данные в таблицу «книга».

Получение и обновление данных с помощью PHP

На следующем шаге мы создадим форму, чтобы мы могли видеть детали записей книги и обновлять существующие данные таблицы «книга». Для этого мы создадим форму, в которой пользователь может указать идентификатор книги, и он покажет всю информацию, хранящуюся в базе данных, относительно этой конкретной книги. Итак, вы узнаете, как получать данные из таблицы, как отображать эти данные с помощью PHP и как обновлять данные.

Вот код (имя файла enter-bookid):

Соединитесь с PostgreSQL, используя PDO (объекты данных PHP)

Начиная с версии 5.1, PHP предоставляет новую библиотеку абстракций подключения к базе данных, объекты данных PHP или PDO. PDO абстрагирует доступ к базе данных и позволяет использовать код, который может обрабатывать различные типы баз данных.

Обработка ошибок подключения:

Если есть какие-либо ошибки соединения, объект PDOException будет брошен. Вы можете перехватить исключение, если хотите обработать условие ошибки, или оставить его глобальному обработчику исключений, который можно настроить с помощью set_exception_handler ().

Вот пример для обработки ошибок:

Запрос:

Итак, вы узнали, как вставлять данные из формы HTML и как получать, отображать и обновлять данные в PostgreSQL с помощью PHP.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *