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.

Примечание! В качестве операционной системы у нас будет выступать 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 Вы подключили.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Драйвера на принтер бротхер hl 2035r

Источник

PostgreSQL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Базовое использование
  • PostgreSQL
    • pg_affected_rows — Возвращает количество затронутых запросом записей (кортежей)
    • pg_cancel_query — Остановка асинхронного запроса.
    • pg_client_encoding — Получение кодировки клиента.
    • pg_close — Закрывает соединение с базой данных PostgreSQL
    • pg_connect_poll — Poll the status of an in-progress asynchronous PostgreSQL connection attempt.
    • pg_connect — Открывает соединение с базой данных PostgreSQL
    • pg_connection_busy — Проверяет, занято ли соединение в данный момент.
    • pg_connection_reset — Сброс подключение (переподключение)
    • pg_connection_status — Определяет состояние подключения
    • pg_consume_input — Reads input on the connection
    • pg_convert — Преобразует значения ассоциативного массива в приемлемые для использования в SQL запросах
    • pg_copy_from — Вставляет записи из массива в таблицу
    • pg_copy_to — Копирует данные из таблицы в массив
    • pg_dbname — Определяет имя базы данных
    • pg_delete — Удаляет записи
    • pg_end_copy — Синхронизирует с бэкендом PostgreSQL
    • pg_escape_bytea — Экранирует спецсимволы в строке для вставки в поле типа bytea
    • pg_escape_identifier — Escape a identifier for insertion into a text field
    • pg_escape_literal — Escape a literal for insertion into a text field
    • pg_escape_string — Экранирование спецсимволов в строке запроса
    • pg_execute — Запускает выполнение ранее подготовленного параметризованного запроса и ждет результат
    • pg_fetch_all_columns — Выбирает все записи из одной колонки результата запроса и помещает их в массив
    • pg_fetch_all — Выбирает все данные из результата запроса и помещает их в массив
    • pg_fetch_array — Возвращает строку результата в виде массива
    • pg_fetch_assoc — Выбирает строку результата запроса и помещает данные в ассоциативный массив
    • pg_fetch_object — Выбирает строку результата запроса и возвращает данные в виде объекта
    • pg_fetch_result — Возвращает запись из результата запроса
    • pg_fetch_row — Выбирает строку результата запроса и помещает данные в массив
    • pg_field_is_null — Проверка поля на значение SQL NULL
    • pg_field_name — Возвращает наименование поля
    • pg_field_num — Возвращает порядковый номер именованного поля
    • pg_field_prtlen — Возвращает количество печатаемых символов
    • pg_field_size — Возвращает размер поля
    • pg_field_table — Возвращает наименование или идентификатор таблицы, содержащей заданное поле
    • pg_field_type_oid — Возвращает идентификатор типа заданного поля
    • pg_field_type — Возвращает имя типа заданного поля
    • pg_flush — Flush outbound query data on the connection
    • pg_free_result — Очистка результата запроса и освобождение памяти
    • pg_get_notify — Получение SQL NOTIFY сообщения
    • pg_get_pid — Получает ID процесса сервера БД
    • pg_get_result — Получение результата асинхронного запроса
    • pg_host — Возвращает имя хоста, соответствующего подключению
    • pg_insert — Заносит данные из массива в таблицу базы данных
    • pg_last_error — Получает сообщение о последней произошедшей ошибке на соединении с базой данных
    • pg_last_notice — Возвращает последнее уведомление от сервера PostgreSQL
    • pg_last_oid — Возвращает OID последней добавленной в базу строки
    • pg_lo_close — Закрывает большой объект
    • pg_lo_create — Создает большой объект
    • pg_lo_export — Вывод большого объекта в файл
    • pg_lo_import — Импорт большого объекта из файла
    • pg_lo_open — Открывает большой объект базы данных
    • pg_lo_read_all — Читает содержимое большого объекта и посылает напрямую в броузер
    • pg_lo_read — Читает данные большого объекта
    • pg_lo_seek — Перемещает внутренний указатель большого объекта
    • pg_lo_tell — Возвращает текущее положение внутреннего указателя большого объекта
    • pg_lo_truncate — Truncates a large object
    • pg_lo_unlink — Удаление большого объекта
    • pg_lo_write — Записывает данные в большой объект
    • pg_meta_data — Получение метаданных таблицы
    • pg_num_fields — Возвращает количество полей в выборке
    • pg_num_rows — Возвращает количество строк в выборке
    • pg_options — Получение параметров соединения с сервером баз данных
    • pg_parameter_status — Просмотр текущих значений параметров сервера
    • pg_pconnect — Открывает постоянное соединение с сервером PostgreSQL
    • pg_ping — Проверка соединения с базой данных
    • pg_port — Возвращает номер порта, соответствующий заданному соединению
    • pg_prepare — Посылает запрос на создание параметризованного SQL выражения и ждет его завершения
    • pg_put_line — Передает на PostgreSQL сервер строку с завершающим нулем
    • pg_query_params — Посылает параметризованный запрос на сервер, параметры передаются отдельно от текста SQL запроса
    • pg_query — Выполняет запрос
    • pg_result_error_field — Возвращает конкретное поле из отчета об ошибках
    • pg_result_error — Возвращает сообщение об ошибке, связанной с запросом результата
    • pg_result_seek — Смещает указатель на строку выборки в ресурсе результата запроса
    • pg_result_status — Возвращает состояние результата запроса
    • pg_select — Выбирает записи из базы данных
    • pg_send_execute — Запускает предварительно подготовленный SQL запрос и передает ему параметры; не ожидает возвращаемого результата
    • pg_send_prepare — Посылает запрос на создание параметризованного SQL выражения; не ожидает его завершения
    • pg_send_query_params — Посылает параметризованный запрос на сервер, не ожидает возвращаемого результата
    • pg_send_query — Отправляет асинхронный запрос
    • pg_set_client_encoding — Устанавливает клиентскую кодировку
    • pg_set_error_verbosity — Определяет объем текста сообщений, возвращаемых функциями pg_last_error и pg_result_error
    • pg_socket — Get a read only handle to the socket underlying a PostgreSQL connection
    • pg_trace — Включает трассировку подключения PostgreSQL
    • pg_transaction_status — Возвращает текущее состояние транзакции на сервере
    • pg_tty — Возвращает имя терминала TTY, связанное с соединением
    • pg_unescape_bytea — Убирает экранирование двоичных данных типа bytea
    • pg_untrace — Отключает трассировку соединения с PostgreSQL
    • pg_update — Обновление данных в таблице
    • pg_version — Возвращает массив, содержащий версии клиента, протокола клиент-серверного взаимодействия и сервера (если доступно)
Читайте также:  Telegram чат для wordpress

Источник

pg_connect

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

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

Описание

pg_connect() открывает соединение с базой данных PostgreSQL, определённое строкой connection_string .

При повторном вызове функции pg_connect() с теми же значениями параметров в connection_string функция вернёт существующее подключение. Чтобы принудительно создать новое соединение, необходимо передать строку подключения функции PGSQL_CONNECT_FORCE_NEW в качестве параметра flags .

Прежний синтаксис с множеством параметров $conn = pg_connect(«host», «port», «options», «tty», «dbname») считается устаревшим.

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

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

Список основных ключевых слов: host , hostaddr , port , dbname (значение по умолчанию для параметра user ), user , password , connect_timeout , options , tty (игнорируется), sslmode , requiressl (устарело в связи с использованием параметра sslmode ), и service . Какие из этих аргументов будут обработаны, зависит от версии PostgreSQL.

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

Если в функцию передана константа PGSQL_CONNECT_FORCE_NEW , будет создаваться новое подключение, даже если connection_string идентична строке существующего подключения.

Если передана константа PGSQL_CONNECT_ASYNC , то соединение устанавливается асинхронным. Состояние соединения можно проверить с помощью функций pg_connect_poll() или pg_connection_status() .

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

Возвращает экземпляр PgSql\Connection в случае успешного выполнения или false в случае возникновения ошибки.

Источник

Connecting to PostgreSQL

Summary: in this tutorial, you will learn how to connect to a PostgreSQL database server using PHP PDO.

Читайте также:  Driver booster для linux

Prerequisites

To make a connection to the PostgreSQL database server using PHP PDO, you need to have:

  • A PostgreSQL database server, a database, and an account with a username and password that can access the database.
  • PHP PDO PostgreSQL driver enabled in the php.ini file.

1) PostgreSQL database parameters

Suppose you have the following PostgreSQL database parameters:

  • A PostgreSQL database server on the localhost .
  • The dvdrental sample database.
  • The account with the user postgres and password postgres that can access the dvdrental database on the local database server

The following creates a new database configuration file named config.php that stores the PostgreSQL database parameters:

To use these parameters, you include the config.php file in the script that connects to the PostgreSQL using the require construct.

2) Enable PostgreSQL driver

The PDO_PGSQL is a driver that implements the PDO interface. It allows you to access PostgreSQL databases from PHP.

To check if the PDO_PGSQL driver is enabled, you open the php.ini file. Typically, the php.ini file is located under the php directory. For example, if you use XAMPP on Windows, you can find the php.ini file under the C:\xampp\php directory.

in the php.ini file, you can find the following line:

If you see the comma( ; ) placed at the beginning of the line, it means that the line is commented and the database driver is not enabled.

To enable the driver, you need to uncomment the line by removing the comma ( ; ) like this:

After that, you need to restart the web server to apply the change.

PostgreSQL data source name

The data source name or DSN holds database parameters that enable access to a database system. The data source name of the PostgreSQL consists of the following parameters:

  • pgsql: is the DNS prefix.
  • host: the host of the server where the PostgreSQL runs.
  • port: the port to which PostgreSQL listens. The default PostgreSQL’s port is 5432 .
  • dbname: the database name that you want to connect to.
  • And other parameters.

The following shows a DSN that connects to dvdrental database in the local PostgreSQL Server, port 5432:

Connecting to PostgreSQL

The following illustrates how to connect to the dvdrental database in PostgreSQL database server:

How the script works.

  • First, make a new connection to the PostgreSQL database by creating a new instance of the PDO class.
  • Second, show a message if the database connection is established successfully; otherwise, show an error message.

The following option instruct PDO to set an error code and throw an exception if an error occurs:

PDO has three exception handling options:

  • PDO::ERROR_SILENT – PDO sets an error code for inspecting using the PDO::errorCode() and PDO::errorInfo() methods. The PDO::ERROR_SILENT is the default mode.
  • PDO::ERRMODE_WARNING – Besides setting the error code, PDO will issue an E_WARNING message.
  • PDO::ERRMODE_EXCEPTION – Besides setting the error code, PDO will raise a PDOException .

Note that PHP automatically closes the database connection when the script ends. If you want to close the database connection explicitly, you can set the PDO instance to null:

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector