(PHP 5 >= 5.1.0)
pg_send_execute — Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.
$connection
, string $stmtname
, array $params
)Sendet eine Aufforderung an den Server, eine vorbereitete Anfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten.
Dies ist ähnlich, wie die Funktion pg_send_query_params(), nur dass das auszuführende Kommando eine zuvor benannte vorbereitete Abfrage ist und kein Abfragestring. Die Parameter der Funktion werden genauso verarbeitet, wie bei der Funktion pg_execute() beschrieben und genau wie diese kann pg_send_execute() nicht mit PostgreSQL Versionen vor 7.4 benutzet werden.
connection
PostgreSQL Verbindungkennung. Falls connection
nicht angegeben wurde, wird die zuletzt mit pg_connect()
oder pg_pconnect() geöffnete Verbindung benutzt.
stmtname
Der Name der auszuführenden vorbereiteten Abfrage. Falls "" angegeben wird, wird eine unbenannte Abfrage ausgeführt. Der Name muss zuvor mit pg_prepare(), pg_send_prepare() oder dem SQL-Kommando PREPARE definiert worden sein.
params
Ein Array mit Parameterwerten, mit denen die Platzhalter $1, $2 usw. in der ursprünglichen vorbereiteten Abfrage ersetzt werden. Die Anzahl der Elemente dieses Arrays muss mit der Anzahl der Platzhalter übereinstimmen.
Gibt bei Erfolg TRUE
zurück oder FALSE
, falls ein Fehler auftrat.
Verwenden Sie pg_get_result(), um das Abfrageergebnis
zu erhalten.
Beispiel #1 pg_send_execute() benutzen:
<?php
$dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");
// 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);
}
?>