pg_prepare

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

pg_prepare Envía una solicitud para crear una sentencia preparada con los parámetros dados, y espera que se complete

Descripción

pg_prepare(resource$connection = ?, string$stmtname, string$query): resource

pg_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.

Parámetros

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.

Valores devueltos

Un recurso de consulta en caso de éxito o false en caso de error.

Ejemplos

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"));

?>

Ver también

  • pg_execute() - Envía una solicitud para ejecutar una setencia preparada con parámetros dados, y espera el resultado
  • pg_send_execute() - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)
To Top