pg_execute

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

pg_executeEnvia uma solicitação para executar uma instrução preparada com determinados parâmetros e aguarda o resultado

Descrição

pg_execute(PgSql\Connection $connection = ?, string $stmtname, array $params): PgSql\Result|false

Envia uma solicitação para executar uma instrução preparada com determinados parâmetros e aguarda o resultado.

pg_execute() é como pg_query_params(), mas o comando a ser executado é especificado nomeando uma instrução previamente preparada, em vez de fornecer uma string de consulta. Este recurso permite que comandos que serão usados repetidamente sejam analisados e planejados apenas uma vez, em vez de cada vez que forem executados. A declaração deve ter sido preparada anteriormente na sessão atual. pg_execute() é suportado apenas em conexões PostgreSQL 7.4 ou superior; falhará ao usar versões anteriores.

Os parâmetros são idênticos a pg_query_params(), exceto que o nome de uma instrução preparada é fornecido em vez de uma string de consulta.

Parâmetros

connection

Uma instância de PgSql\Connection. Quando o parâmetro connection não for especificado, a conexão padrão será usada. A conexão padrão é a última conexão feita por pg_connect() ou pg_pconnect().

Warning

A partir do PHP 8.1.0, usar a conexão padrão tornou-se defasado.

stmtname

O nome da instrução preparada a ser executada. se "" for especificado, a instrução sem nome será executada. O nome deve ter sido preparado previamente usando pg_prepare(), pg_send_prepare() ou um comando SQL PREPARE.

params

Um array de valores de parâmetros para substituir os espaços reservados $1, $2, etc. na string de consulta preparada original. O número de elementos no array deve corresponder ao número de espaços reservados.

Warning

Os elementos são convertidos em strings chamando esta função.

Valor Retornado

Uma instância PgSql\Result em caso de sucesso, ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.1.0 Agora retorna uma instância de PgSql\Result; anteriormente, um resource era retornado.
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_execute()

<?php
// Conecta com um banco de dados chamado "mary"
$dbconn = pg_connect("dbname=mary");

// Prepara a consulta para execução
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Executa a consulta preparada. Observe que não é necessário escapar a
// string "Joe's Widgets" de forma alguma
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute a mesma consulta preparada, desta vez com um parâmetro diferente
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Veja Também

  • pg_prepare() - Envia uma solicitação ao servidor para criar uma instrução preparada com os parâmetros fornecidos e aguarda a conclusão
  • pg_send_prepare() - Envia uma solicitação para criar uma instrução preparada com os parâmetros fornecidos, sem esperar pela conclusão
  • pg_query_params() - Envia um comando ao servidor e aguarda o resultado, com a capacidade de passar parâmetros separadamente do texto do comando SQL