(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.
$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.
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.
Gibt bei Erfolg TRUE
zurück, und FALSE
, falls ein Fehler auftrat.
Benutzen Sie pg_get_result(), um das Abfrageergebnis
zu erhalten.
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);
}
?>