(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_send_prepare — Envia uma solicitação para criar uma instrução preparada com os parâmetros fornecidos, sem esperar pela conclusão
Envia uma solicitação para criar uma instrução preparada com os parâmetros fornecidos, sem aguardar a conclusão.
Esta é uma versão assíncrona de pg_prepare(): ela retorna true
se conseguiu
despachar a solicitação e false
se não. Após uma chamada bem-sucedida, chame
pg_get_result() para determinar se o servidor criou com êxito a
instrução preparada. Os parâmetros da função são tratados de forma idêntica a
pg_prepare(). Assim como pg_prepare(), não funcionará
em versões anteriores à 7.4 do PostgreSQL.
connection
Uma instância de PgSql\Connection.
statement_name
O nome para dar a declaração preparada. Deve ser exclusivo por conexão. Se "" for especificado, uma instrução sem nome será criada, substituindo qualquer instrução sem nome definida anteriormente.
query
A instrução SQL parametrizada. Deve conter apenas uma única instrução. (múltiplas instruções separadas por ponto e vírgula não são permitidas.) Se algum parâmetro for usado, ele será chamado de $1, $2, etc.
Retorna true
em caso de sucesso, false
ou 0
em caso de falha. Use pg_get_result()
para determinar o resultado da consulta.
Versão | Descrição |
---|---|
8.1.0 |
O parâmetro connection agora espera uma instância de PgSql\Connection;
anteriormente, um resource era esperado.
|
Exemplo #1 Usando pg_send_prepare()
<?php
$dbconn = pg_connect("dbname=publisher") or die("Não foi possível conectar");
// Prepara uma consulta para execução
if (!pg_connection_busy($dbconn)) {
pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
$res1 = pg_get_result($dbconn);
}
// Executa a consulta preparada. Observe que não é necessário escapar
// a string "Joe's Widgets" de qualquer forma
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
$res2 = pg_get_result($dbconn);
}
// Executa a mesma consulta preparada, desta vez com um parâmetro diferente
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
$res3 = pg_get_result($dbconn);
}
?>