PHP Conference Japan 2024

pg_send_prepare

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

pg_send_prepareEnvía una solicitud para crear una instrucción preparada con los parámetros dados, sin esperar la finalización

Descripción

pg_send_prepare(resource $connection, string $stmtname, string $query): bool

Envía una solicitud para crear una instrucción preparada con los parámetros dados, sin esperar la finalización.

Esta es una versión asincrónica de pg_prepare(): devuelve true si fue capaz de enviar la solicitud, y false si no. Después de una llamada exitosa, llame al pg_get_result() Para determinar si el servidor creó correctamente la instrucción preparada. Los parámetros de la función se manejan de forma idéntica a pg_prepare(). Al igual que pg_prepare(), no funcionará en versiones anteriores a 7.4 en PostgreSQL.

Parámetros

connection

Recurso de conexión a la base de datos PostgreSQL. Cuando no está presente connection, se utiliza la conexión predeterminada. La conexión predeterminada es la última conexión realizada por pg_connect() o pg_pconnect().

stmtname

El nombre para dar la declaración preparada. Debe ser único por conexión. Si se especifica "", se crea una sentencia sin nombre, sobrescribiendo cualquier sentencia anónima previamente definida.

query

La sentencia SQL parametrizada. Debe contener sólo una sola sentencia. (No se permiten declaraciones múltiples separadas por punto y coma.) Si se utilizan parámetros, se les conoce como $1, $2, etc.

Valores devueltos

Devuelve true en caso de éxito, false en caso de error. Utilice pg_get_result() para determinar el resultado de la consulta.

Ejemplos

Ejemplo #1 Utilizando pg_send_prepare()

<?php
$dbconn
= pg_connect("dbname=publisher") or die("Could not connect");

// Preparar una consulta para su ejecución
if (!pg_connection_busy($dbconn)) {
pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
$res1 = pg_get_result($dbconn);
}

// Ejecute la consulta preparada. Tenga en cuenta que no es necesario
// escapar la cadena "Joe's Widgets" de ninguna manera
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
$res2 = pg_get_result($dbconn);
}

// Ejecute la misma consulta preparada, esta vez con un parámetro diferente
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
$res3 = pg_get_result($dbconn);
}

?>

Ver también

  • pg_connect() - Abre una conexión a PostgreSQL
  • pg_pconnect() - Abre una conexión persistente a PostgreSQL
  • 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)
  • pg_send_query_params() - Submits a command and separate parameters to the server without waiting for the result(s)

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top