(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_send_prepare — Envía una solicitud para crear una instrucción preparada con los parámetros dados, sin esperar la finalización
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.
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.
Devuelve true
en caso de éxito, false
en caso de error. Utilice pg_get_result()
para determinar el resultado de la consulta.
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);
}
?>