(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)
Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
This is similar to pg_send_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. The function's parameters are handled identically to pg_execute(). Like pg_execute(), it will not work on pre-7.4 versions of PostgreSQL.
connection
An PgSql\Connection instance.
statement_name
The name of the prepared statement to execute. If
"" is specified, then the unnamed statement is executed. The name must have
been previously prepared using pg_prepare(),
pg_send_prepare() or a PREPARE
SQL
command.
params
An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.
Returns true
on success, false
or 0
on failure. Use pg_get_result()
to determine the query result.
Version | Description |
---|---|
8.1.0 |
The connection parameter expects an PgSql\Connection
instance now; previously, a resource was expected.
|
Example #1 Using pg_send_execute()
<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");
// Prepare a query for execution
if (!pg_connection_busy($dbconn)) {
pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
$res1 = pg_get_result($dbconn);
}
// Execute the prepared query. Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
$res2 = pg_get_result($dbconn);
}
// Execute the same prepared query, this time with a different parameter
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
$res3 = pg_get_result($dbconn);
}
?>