Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution

# pg_send_prepare

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

pg_send_prepare — Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution

### Description

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

Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution.

Cette fonction est la version asynchrone de pg_prepare() : elle retourne `true` si elle a été capable de répartir la requête et `false` si elle n'a pas été capable. Après un appel réussi, appelez pg_get_result() pour déterminer si le serveur a créé correctement la requête préparée. Les paramètres de la fonction sont gérés de la même manière que pg_execute(). Comme pg_execute(), la fonction ne fonctionnera pas sur les versions antérieures à PostgreSQL 7.4.

### Liste de paramètres

`connection`
  Une instance PgSql\Connection.
`statement_name`

  Le nom à donner à la requête préparée. Il doit être unique à chaque session. Si une chaîne vide est spécifiée ("") alors une requête sans nom est créée, écrasant les requêtes sans nom précédemment définies.

`query`

  La requête SQL avec ses paramètres. Elle doit contenir seulement une seule requête. Plusieurs requêtes séparées par des points-virgules ne sont pas autorisées. Si des paramètres sont utilisés, ils sont référés à $1, $2, etc.

### Valeurs de retour

Retourne `true` en cas de succès, `false` ou `0` en cas d'échec. Utiliser pg_get_result() pour déterminer le résultat de la requête.

### Historique

Version | Description
--- | ---
8.1.0 | Le paramètre `connection` attend désormais une instance de PgSql\Connection ; auparavant, une resource était attendu.

### Exemples

Exemple #1 Exemple pg_send_prepare()

    <?php
      $dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");

      // Prépare une requête pour l'exécution
      if (!pg_connection_busy($dbconn)) {
        pg_send_prepare($dbconn, "my_query", 'SELECT * FROM magasins WHERE nom = $1');
        $res1 = pg_get_result($dbconn);
      }

      // Exécute la requête préparée. Notez qu'il n'est pas nécessaire d'échapper
      // la chaîne "Joe's Widgets"
      if (!pg_connection_busy($dbconn)) {
        pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
        $res2 = pg_get_result($dbconn);
      }

      // Exécute la même requête préparée, cette fois avec un paramètre différent
      if (!pg_connection_busy($dbconn)) {
        pg_send_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));
        $res3 = pg_get_result($dbconn);
      }

    ?>

### Voir aussi

- pg_connect() - Établit une connexion PostgreSQL
- pg_pconnect() - Établit une connexion PostgreSQL persistante
- pg_execute() - Exécute une requête préparée PostgreSQL
- pg_send_execute() - Envoie une requête pour exécuter une requête préparée avec des paramètres donnés, sans attendre le(s) résultat(s)
- pg_send_query_params() - Envoie une commande et sépare les paramètres au serveur sans attendre le(s) résultat(s)

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