pg_connect

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

pg_connectÖffnet eine PostgreSQL-Verbindung

Beschreibung

pg_connect(string $connection_string, int $flags = 0): PgSql\Connection|false

pg_connect() öffnet eine Verbindung zu der PostgreSQL-Datenbank, die durch den connection_string bezeichnet wird.

Falls ein zweiter Aufruf von pg_connect() mit demselben connection_string gemacht wird, wird die Verbindungskennung der bereits geöffneten Verbindung zurückgegeben, es sei denn, Sie übergeben die Konstante PGSQL_CONNECT_FORCE_NEW im Parameter flags.

Die alte Syntax $conn = pg_connect ("host", "port", "options", "tty", "dbname") sollte nicht mehr benutzt werden.

Parameter-Liste

connection_string

Der connection_string darf leer sein. Dann werden Standard-Parameter benutzt. Er kann auch einen oder mehrere Parameter, durch Leerzeichen getrennt, enthalten. Jeder Parameter muss in der Form keyword = value angegeben werden, wobei das Gleichheitszeichen optional ist. Um einen leeren Wert oder einen Wert, der Leerzeichen enthält, zu übergeben, muss dieser in einfache Anführungszeichen eingeschlossen sein, etwa so: keyword = 'ein Wert'. Einfache Anführungszeichen oder Backslashes innerhalb von Werten müssen mit einem Backslash maskiert werden: \' und \\.

Diese Schlüsselwörter für die Parameter werden aktuell erkannt: host, hostaddr, port, dbname (standardmäßig der Wert von user), user, password, connect_timeout, options, tty (wird ignoriert), sslmode, requiressl (zugunsten von sslmode ausgemustert) und service. Welche dieser Parameter zur Verfügung stehen, ist von Ihrer PostgreSQL-Version abhängig.

Der Parameter options kann verwendet werden, um vom Server auszuführende Kommandozeilenparameter zu setzen.

flags

Wenn PGSQL_CONNECT_FORCE_NEW übergeben wird, wird eine neue Verbindung aufgebaut, auch wenn der connection_string identisch zu der aktuell geöffneten Verbindung ist.

Ist PGSQL_CONNECT_ASYNC angegeben, dann wird die Verbindung asynchron hergestellt. Der Zustand der Verbindung kann dann per pg_connect_poll() oder pg_connection_status() überprüft werden.

Rückgabewerte

Bei Erfolg wird eine PgSql\Connection-Instanz zurückgegeben. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.1.0 Gibt nun eine PgSql\Connection-Instanz zurück; vorher wurde eine Ressource zurückgegeben.

Beispiele

Beispiel #1 pg_connect() benutzen

<?php
// Verbindungsaufbau zu einer Datenbank namens "mary"
$dbconn = pg_connect("dbname=mary");

// Verbindungsaufbau zu einer Datenbank namens "mary" auf dem
// Host "localhost" über den (Standard-)Port "5432"
$dbconn2 = pg_connect("host=localhost port=5432 dbname=mary");

// Verbindungsaufbau zu einer Datenbank namens "mary" auf dem Host
// "sheep" mit dem Benutzernamen "lamb" und dem Passwort "foo"
$dbconn3 = pg_connect("host=sheep port=5432 dbname=mary user=lamb password=foo");

// Verbindungsaufbau zu einer Datenbank namens "test" auf dem Host
// "sheep" mit dem Benutzernamen "lamb" und dem Passwort "bar"
$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_connect($conn_string);

// Verbindungsaufbau zu einer Datenbank auf dem Host "localhost" mit Setzen
// des Kommandozeilenparameters, der die Zeichenkodierung UTF-8 angibt
$dbconn5 = pg_connect("host=localhost options='--client_encoding=UTF8'");
?>

Siehe auch

  • pg_pconnect() - Öffnet eine persistente PostgreSQL-Verbindung
  • pg_close() - Schließt eine PostgreSQL-Verbindung
  • pg_host() - Liefert den Namen des Host, zu dem verbunden wurde
  • pg_port() - Liefert die Portnummer, über die die Verbindung aufgebaut wurde
  • pg_tty() - Liefert den TTY-Namen für die Verbindung
  • pg_options() - Liefert die Verbindungsoptionen der aktuellen Verbindung
  • pg_dbname() - Liefert den Namen der Datenbank