<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.pgsql.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.pg-execute.php',
    1 => 'pg_execute',
    2 => 'Ex&eacute;cute une requ&ecirc;te pr&eacute;par&eacute;e PostGreSQL',
  ),
  'up' => 
  array (
    0 => 'ref.pgsql.php',
    1 => 'pg_cancel_query',
  ),
  'prev' => 
  array (
    0 => 'function.pg-escape-string.php',
    1 => 'pg_escape_string',
  ),
  'next' => 
  array (
    0 => 'function.pg-fetch-all.php',
    1 => 'pg_fetch_all',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/pgsql/functions/pg-execute.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.pg-execute" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">pg_execute</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.1.0, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">pg_execute</span> &mdash; <span class="dc-title">
   Exécute une requête préparée PostGreSQL
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.pg-execute-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>pg_execute</strong></span>(<span class="methodparam"><span class="type"><a href="class.pgsql-connection.php" class="type PgSql\Connection">PgSql\Connection</a></span> <code class="parameter">$connection</code><span class="initializer"> = ?</span></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$statement_name</code></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$params</code></span>): <span class="type"><span class="type"><a href="class.pgsql-result.php" class="type PgSql\Result">PgSql\Result</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   Envoie une requête pour exécuter une requête préparée avec les
   paramètres donnés et attend le résultat.
  </p>
  <p class="para">
   <span class="function"><strong>pg_execute()</strong></span> est comme <span class="function"><a href="function.pg-query-params.php" class="function">pg_query_params()</a></span>, 
   mais la commande qui sera exécutée est spécifiée en nommant une requête
   préalablement préparée, au lieu de donner une chaîne en tant que requête.
   Cette caractéristique permet aux commandes qui seront utilisées à
   plusieurs reprises d&#039;être analysées et planifiées qu&#039;une seule fois,
   plutôt que d&#039;être exécutées chaque fois. La requête doit avoir été
   préalablement préparée dans la session courante.
  </p>
  <p class="para">
   Les paramètres sont identiques à la fonction <span class="function"><a href="function.pg-query-params.php" class="function">pg_query_params()</a></span>
   à l&#039;exception du nom de la requête préparée qui est donnée à la place de la
   requête sous forme de chaîne.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.pg-execute-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">connection</code></dt>
     <dd>
      <p class="para">
 Une instance <span class="classname"><a href="class.pgsql-connection.php" class="classname">PgSql\Connection</a></span>.
 Quand <code class="parameter">connection</code> est pas spécifié, la connexion par défaut est utilisé.
 La connexion par défaut est la dernière connexion faite par
 <span class="function"><a href="function.pg-connect.php" class="function">pg_connect()</a></span> ou <span class="function"><a href="function.pg-pconnect.php" class="function">pg_pconnect()</a></span>
 <div class="warning"><strong class="warning">Avertissement</strong><p class="simpara">À partir de PHP 8.1.0, utiliser la connexion par défaut est obsolète.</p></div>
</p>
     </dd>
    
    
     <dt><code class="parameter">statement_name</code></dt>
     <dd>
      <p class="para">
       Le nom de la requête préparée à exécuter. Si une chaîne vide est
       spécifiée (&quot;&quot;), alors la requête qui n&#039;est pas nommée est exécutée. Le
       nom doit avoir été précédemment préparé en utilisant
       <span class="function"><a href="function.pg-prepare.php" class="function">pg_prepare()</a></span>, <span class="function"><a href="function.pg-send-prepare.php" class="function">pg_send_prepare()</a></span>
       ou une commande SQL <code class="literal">PREPARE</code>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">params</code></dt>
     <dd>
      <p class="para">
       Un tableau de valeurs de paramètres pour substituer les variables $1, $2, etc.
       dans la requête préparée originale. Le nombre d&#039;éléments présents dans
       le tableau doit concorder avec le nombre de variables à remplacer.
      </p>
      <div class="warning"><strong class="warning">Avertissement</strong>
       <p class="para">
        Les éléments sont convertis en chaînes de caractères en appelant cette
        fonction.
       </p>
      </div>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.pg-execute-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Une instance de <span class="classname"><a href="class.pgsql-result.php" class="classname">PgSql\Result</a></span> en cas de succès,  ou <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si une erreur survient.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.pg-execute-changelog">
  <h3 class="title">Historique</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
 <td>8.1.0</td>
 <td>
  Retourne désormais une instance de <span class="classname"><a href="class.pgsql-result.php" class="classname">PgSql\Result</a></span> instance ;
  auparavant, une <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> était retourné.
 </td>
</tr>

     <tr>
 <td>8.1.0</td>
 <td>
  Le paramètre <code class="parameter">connection</code> attend désormais une instance de
  <span class="classname"><a href="class.pgsql-connection.php" class="classname">PgSql\Connection</a></span> ; auparavant, une <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> était attendu.
 </td>
</tr>

    </tbody>
   
  </table>

 </div>

 
 <div class="refsect1 examples" id="refsect1-function.pg-execute-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Exemple avec <span class="function"><strong>pg_execute()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Connexion à une base de données nommée "marie"<br /></span><span style="color: #0000BB">$dbconn </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"dbname=marie"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Prépare une requête pour l'exécution<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_prepare</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbconn</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_query"</span><span style="color: #007700">, </span><span style="color: #DD0000">'SELECT * FROM magasins WHERE nom = $1'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Exécute la requête préparée. À noter qu'il n'est pas nécessaire d'échapper<br />// la chaîne "Joe's Widgets"<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbconn</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_query"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">"Joe's Widgets"</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Exécute la même requête préparée, cette fois avec un paramètre différent<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbconn</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_query"</span><span style="color: #007700">, array(</span><span style="color: #DD0000">"Vêtements Vêtements Vêtements"</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>

 
 <div class="refsect1 seealso" id="refsect1-function.pg-execute-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.pg-prepare.php" class="function" rel="rdfs-seeAlso">pg_prepare()</a> - Envoie une requ&ecirc;te au serveur pour cr&eacute;er une instruction pr&eacute;par&eacute;e avec les param&egrave;tres
   donn&eacute;s et attend l'ex&eacute;cution</span></li>
    <li><span class="function"><a href="function.pg-send-prepare.php" class="function" rel="rdfs-seeAlso">pg_send_prepare()</a> - Envoie une requ&ecirc;te pour cr&eacute;er une requ&ecirc;te pr&eacute;par&eacute;e avec les param&egrave;tres
   donn&eacute;s, sans attendre la fin de son ex&eacute;cution</span></li>
    <li><span class="function"><a href="function.pg-query-params.php" class="function" rel="rdfs-seeAlso">pg_query_params()</a> - Envoie une commande au serveur et attend le r&eacute;sultat, avec les capacit&eacute;s de
   passer des param&egrave;tres s&eacute;par&eacute;ment de la commande texte SQL</span></li>
   </ul>
  </p>
 </div>

</div><?php manual_footer($setup); ?>