pg_send_prepare

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

pg_send_prepareEnvia uma solicitação para criar uma instrução preparada com os parâmetros fornecidos, sem esperar pela conclusão

Descrição

pg_send_prepare(PgSql\Connection $connection, string $statement_name, string $query): int|bool

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)