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
$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
connectionnicht 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