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

# 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

function 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

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

    ?>

### 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)

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open