Fonctions PostgreSQL
PHP Manual

pg_send_prepare

(PHP 5 >= 5.1.0)

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

bool pg_send_prepare ( resource $connection , string $stmtname , string $query )

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 fonctions 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

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

stmtname

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 en cas d'échec. Utilisez pg_get_result() pour déterminer le résultat de la requête.

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


Fonctions PostgreSQL
PHP Manual