pg_send_query_params
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_send_query_params — Sendet ein Kommando und separate Parameter zum Server, ohne auf die Rückgabe der Ergebnisse zu warten
Beschreibung
Sendet ein Kommando und separate Parameter zum Server ohne auf die Rückgabe der Ergebnisse zu warten.
Diese Funktion ist gleichwertig zu pg_send_query()
mit dem Unterschied, dass Parameter für die Abfrage außerhalb des
query
-Strings übergeben werden können. Diese
Parameter werden genauso verarbeitet, wie bei
pg_query_params() beschrieben. Genau wie
pg_query_params() kann diese Funktion nur mit
PostgreSQL ab der Version 7.4 verwendet werden und es darf nur ein
einziges Kommando im Abfragestring enthalten sein.
Parameter-Liste
-
connection
-
Eine PgSql\Connection-Instanz.
-
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.
-
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.
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_query_params()-Beispiel
<?php
$dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden");
// Die Parameter benutzen: Beachten Sie, dass es
// nicht nötig ist, diese zu maskieren.
pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));
// Zum Vergleich: die Funktion pg_send_query
$str = pg_escape_string('Perth');
pg_send_query($dbconn, "select count(*) from authors where city = '${str}'");
?>