(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.
connectionUma instância de PgSql\Connection.
statement_nameO 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.
queryA 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);
}
?>