pg_send_execute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_send_executeSends a request to execute a prepared statement with given parameters, without waiting for the result(s)

Description

pg_send_execute(PgSql\Connection $connection, string $statement_name, array $params): int|bool

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.

Parameters

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.

Return Values

Returns true on success, false or 0 on failure. Use pg_get_result() to determine the query result.

Changelog

Version Description
8.1.0 The connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.

Examples

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);
  }
  
?>

See Also

  • pg_prepare() - Submits a request to create a prepared statement with the given parameters, and waits for completion
  • pg_send_prepare() - Sends a request to create a prepared statement with the given parameters, without waiting for completion
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result