(PHP 5 >= 5.1.0, PHP 7)
pg_prepare — Envía una solicitud para crear una sentencia preparada con los parámetros dados, y espera que se complete
$connection
], string $stmtname
, string $query
) : resourcepg_prepare() crea una sentencia preparada para la ejecución posterior con pg_execute() o pg_send_execute(). Esta característica permite que los comandos que se utilizarán repetidamente se analicen y se planifiquen sólo una vez, en lugar de cada vez que se ejecuten. pg_prepare() Está soportado sólo para conexiones de PostgreSQL 7.4 o superior; fallará al usar versiones anteriores.
La función crea una sentencia preparada denominada stmtname
desde la cadena
query
, que debe contener un único comando SQL. stmtname
puede
ser "" para crear una sentencia sin nombre, en cuyo caso se sustituye automáticamente cualquier sentencia
sin nombre preexistente; de lo contrario, es un error si el nombre de la sentencia ya está definido
en la sesión actual. Si se utilizan parámetros, se refieren al query
como $1, $2, etc.
Las sentencias preparadas para su uso con pg_prepare() también se pueden crear ejecutando sentencias SQL PREPARE. (Pero pg_prepare() es más flexible, ya que no requiere preespecificar los tipos de parámetros.) Además, aunque no existe ninguna función PHP para borrar una sentencia preparada, la sentencia SQL DEALLOCATE puede utilizarse para ese propósito.
connection
Recurso de conexión a una base de datos de PostgreSQL. Cuando
connection
no está presente, se utilizará la conexión
predeterminada. Esta es la última conexión realizada por
pg_connect() o pg_pconnect().
stmtname
El nombre para dar la declaración preparada. Debe ser una conexión única. Si se especifica como "", entonces se crea una declaración sin nombre, sobrescribiendo cualquier declaración sin nombre previamente definida.
query
La declaración SQL parametrizada. Debe contener una sola declaración. (No se permiten las declaraciones múltiples separadas por punto y coma). Si se utiliza algún parámetro, se denominan $1, $2, etc.
Un recurso de consulta en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Usando pg_prepare()
<?php
// Conéctese a una base de datos llamada "mary"
$dbconn = pg_connect("dbname=mary");
// Preparar una consulta para la ejecución
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
// Ejecute la consulta preparada. Tenga en cuenta que no es necesario escapar
// el string "Joe's Widgets" de cualquier manera
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));
// Ejecutar la misma consulta preparada, esta vez con un parámetro diferente
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
?>