pg_send_execute
pg_send_query_params
PostgreSQL-Funktionen
PHP Manual

# pg_send_prepare

(PHP 5 >= 5.1.0)

pg_send_prepare — Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern zu erzeugen, ohne auf ihre Beendigung zu warten.

### Beschreibung

bool pg_send_prepare ( resource `$connection` , string `$stmtname` , string `$query` )

Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern zu erzeugen, ohne auf ihre Beendigung zu warten.

Dies ist eine asynchrone Version von pg_prepare(): Sie gibt `TRUE` zurück, falls es möglich war, die Aufforderung abzusenden, ansonsten `FALSE`. Nach einem erfolgreichen Absenden rufen Sie pg_get_result() auf, um festzustellen, ob der Server die vorbereitete Abfrage erfolgreich erzeugt hat. Die Parameter der Funktion werden genauso verarbeitet, wie bei der Funktion pg_prepare() beschrieben und genau wie diese kann pg_send_prepare() nicht mit PostgreSQL Versionen vor 7.4 benutzet werden.

### Parameter-Liste

`connection`

  PostgreSQL Verbindungskennung. Falls `connection` nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

`stmtname`

  Der Name der vorbereiteten Abfrage. Dieser Name muss in der aktuellen Datenbanksitzung eindeutig sein. Falls "" angegeben wird, wird eine unbenannte Abfrage erzeugt, die alle zuvor definierten unbenannten Abfragen überschreibt.

`query`

  Die parametrisierte Abfrage. Diese darf nur ein einziges SQL-Kommando enthalten (mehrere Kommandos, durch Semikolon getrennt, sind nicht zulässig). Falls Parameter übergeben werden, werden sie als $1, $2, ... referenziert.

### Rückgabewerte

Gibt bei Erfolg `TRUE` zurück, und `FALSE`, falls ein Fehler auftrat. Benutzen Sie pg_get_result(), um das Abfrageergebnis zu erhalten.

### Beispiele

Beispiel #1 pg_send_prepare() Beispiel

`<?php
$dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");
// Eine Abfrage vorbereiten
if (!pg_connection_busy($dbconn)) {
pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
$res1 = pg_get_result($dbconn);
}
// die vorbereitete Abfrage ausführen. Beachten Sie, dass es
// nicht nötig ist, den String "Joe's Widgets" zu maskieren
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
$res2 = pg_get_result($dbconn);
}
// Dieselbe vorbereitete Abfrage, diesmal mit einem anderen Parameter.
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
$res3 = pg_get_result($dbconn);
}
?>`

### Siehe auch

- pg_connect() - Öffnet eine PostgreSQL-Verbindung
- pg_pconnect() - Öffnet eine persistente PostgreSQL-Verbindung
- pg_execute() - Fordert den Datenankserver auf, eine vorbereitete Anfrage mit den angegebenen Parametern auszuführen und wartet auf das Ergebnis
- pg_send_execute() - Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.
- pg_send_query_params() - Sendet ein Kommando und separate Parameter zum Server, ohne auf die Rückgabe der Ergebnisse zu warten

pg_send_execute
pg_send_query_params
PostgreSQL-Funktionen
PHP Manual