pg_send_prepare
(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
Descriçã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.
Parâmetros
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.
Valor Retornado
Retorna true
em caso de sucesso, false
ou 0
em caso de falha. Use pg_get_result()
para determinar o resultado da consulta.
Registro de Alterações
Versão | Descrição |
---|---|
8.1.0 |
O parâmetro connection agora espera uma instância de PgSql\Connection;
anteriormente, um resource era esperado.
|
Exemplos
Example #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);
}
?>
Veja Também
- pg_connect() - Abre uma conexão PostgreSQL
- pg_pconnect() - Abre uma conexão PostgreSQL persistente
- pg_execute() - Envia uma solicitação para executar uma instrução preparada com determinados parâmetros e aguarda o resultado
- pg_send_execute() - Envia uma solicitação para executar uma instrução preparada com determinados parâmetros, sem esperar pelo(s) resultado(s)
- pg_send_query_params() - Envia um comando e parâmetros separados para o servidor sem esperar pelo(s) resultado(s)