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