(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_send_execute — Sendet eine Aufforderung an den Server, eine vorbereitete Abfrage mit den übergebenen Parametern auszuführen, ohne auf die Ergebnisse zu warten
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(), aber das auszuführende Kommando wird statt durch einen Abfragestring durch den Namen einer zuvor vorbereiteten Anweisung angegeben. 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 benutzt werden.
connection
Eine PgSql\Connection-Instanz.
statement_name
Der Name der auszuführenden vorbereiteten Anweisung. 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 Anweisung ersetzt werden. Die Anzahl der Elemente dieses Arrays muss mit der Anzahl der Platzhalter übereinstimmen.
Gibt bei Erfolg true
zurück und false
oder 0
, falls
ein Fehler auftrat. Benutzen Sie pg_get_result(), um das
Abfrageergebnis zu erhalten.
Version | Beschreibung |
---|---|
8.1.0 |
Der Parameter connection erwartet nun eine PgSql\Connection-Instanz;
vorher wurde eine Ressource erwartet.
|
Beispiel #1 Die Verwendung von pg_send_execute():
<?php
$dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");
// Die 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);
}
?>