pg_send_execute

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

pg_send_executeEnvia uma solicitação para executar uma instrução preparada com determinados parâmetros, sem esperar pelo(s) resultado(s)

Descrição

pg_send_execute(PgSql\Connection $connection, string $statement_name, array $params): int|bool

Envia uma solicitação para executar uma instrução preparada com determinados parâmetros, sem esperar pelo(s) resultado(s).

Isto é semelhante a pg_send_query_params(), mas o comando a ser executado é especificado nomeando uma instrução previamente preparada, em vez de fornecer uma string de consulta. Os parâmetros da função são tratados de forma idêntica a pg_execute(). Assim como pg_execute(), não funcionará em versões anteriores à 7.4 do PostgreSQL.

Parâmetros

connection

Uma instância de PgSql\Connection.

statement_name

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.

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_execute()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Não foi possível conectar");

  // Preparar 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);
  }

  // Execute a consulta preparada. Observe que não é necessário escapar
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute 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_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_execute() - Envia uma solicitação para executar uma instrução preparada com determinados parâmetros e aguarda o resultado