# pg_send_prepare

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

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

pg_send_prepare(PgSql\Connection `$connection`, string `$statement_name`, string `$query`): int|bool

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`

  Eine PgSql\Connection-Instanz.

`statement_name`

  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` oder `0`, falls ein Fehler auftrat. Benutzen Sie pg_get_result(), um das Abfrageergebnis zu erhalten.

### Changelog

Version | Beschreibung
--- | ---
8.1.0 | Der Parameter `connection` erwartet nun eine PgSql\Connection-Instanz; vorher wurde eine Ressource erwartet.

### 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open