array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.pg-connect.php', 1 => 'pg_connect', ), 'up' => array ( 0 => 'ref.pgsql.php', 1 => 'Функции PostgreSQL', ), 'prev' => array ( 0 => 'function.pg-connect-poll.php', 1 => 'pg_connect_poll', ), 'next' => array ( 0 => 'function.pg-connection-busy.php', 1 => 'pg_connection_busy', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/pgsql/functions/pg-connect.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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
Строка connection_string
может быть пустой строкой или содержать
несколько параметров, разделённых пробелами. Каждый параметр указывается как
keyword = value
. Пробелы вокруг знака "равно" необязательны.
Пустые строки в качестве значения или значения,
содержащие пробелы отделяются одинарными кавычками, как например, keyword = 'a value'
.
Для записи одинарных кавычек и обратных слешей в качестве значений, их необходимо экранировать
обратным слешем, то есть \' и \\.
Список основных ключевых слов:
host
, hostaddr
, port
,
dbname
(значение по умолчанию для параметра user
),
user
,
password
, connect_timeout
,
options
, tty
(игнорируется), sslmode
,
requiressl
(устарело в связи с использованием параметра sslmode
), и
service
. Какие из этих аргументов будут обработаны, зависит от версии PostgreSQL.
Параметр options
служит для установки параметров командной строки, которые
обработаны сервером.
flags
Если в функцию передана константа PGSQL_CONNECT_FORCE_NEW
, будет создаваться новое
подключение, даже если connection_string
идентична строке существующего подключения.
Если передана константа PGSQL_CONNECT_ASYNC
, то
соединение устанавливается асинхронным. Состояние соединения можно
проверить с помощью функций pg_connect_poll() или
pg_connection_status().
Возвращает экземпляр PgSql\Connection в случае успешного выполнения или false
, если возникла ошибка.
Версия | Описание |
---|---|
8.1.0 | Возвращает экземпляр PgSql\Connection; ранее возвращался ресурс (resource). |
Пример #1 Использование функции pg_connect()
<?php
$dbconn = 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", используя имя пользователя и пароль
$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_connect($conn_string);
//подключиться к базе "test" на хосте "sheep", используя имя пользователя и пароль
$dbconn5 = pg_connect("host=localhost options='--client_encoding=UTF8'");
//подключиться к базе на хосте "localhost" и передать параметр командной строки, задающий кодировку UTF-8
?>