PG_PREPARE(3) PG_PREPARE(3)
pg_prepare - Submits a request to create a prepared statement with the given parameters, and waits for completion.
SYNOPSIS
resource pg_prepare ([resource $connection], string $stmtname, string $query)
DESCRIPTION
pg_prepare(3) creates a prepared statement for later execution with pg_execute(3) or pg_send_execute(3). This feature allows commands that
will be used repeatedly to be parsed and planned just once, rather than each time they are executed. pg_prepare(3) is supported only
against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.
The function creates a prepared statement named $stmtname from the $query string, which must contain a single SQL command. $stmtname may
be "" to create an unnamed statement, in which case any pre-existing unnamed statement is automatically replaced; otherwise it is an error
if the statement name is already defined in the current session. If any parameters are used, they are referred to in the $query as $1, $2,
etc.
Prepared statements for use with pg_prepare(3) can also be created by executing SQL PREPARE statements. (But pg_prepare(3) is more flexi-
ble since it does not require parameter types to be pre-specified.) Also, although there is no PHP function for deleting a prepared state-
ment, the SQL DEALLOCATE statement can be used for that purpose.
PARAMETERS
o $connection
- PostgreSQL database connection resource. When $connection is not present, the default connection is used. The default connection
is the last connection made by pg_connect(3) or pg_pconnect(3).
o $stmtname
- The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is cre-
ated, overwriting any previously defined unnamed statement.
o $query
- The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not
allowed.) If any parameters are used, they are referred to as $1, $2, etc.
RETURN VALUES
A query result resource on success or FALSE on failure.
EXAMPLES
Example #1
Using pg_prepare(3)
<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");
// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
// Execute the prepared query. Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));
// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
?>
SEE ALSO
pg_execute(3), pg_send_execute(3).
PHP Documentation Group PG_PREPARE(3)