<?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-send-query.php',
    1 => 'pg_send_query',
    2 => 'Ex&eacute;cute une requ&ecirc;te PostgreSQL asynchrone',
  ),
  'up' => 
  array (
    0 => 'ref.pgsql.php',
    1 => 'pg_cancel_query',
  ),
  'prev' => 
  array (
    0 => 'function.pg-send-prepare.php',
    1 => 'pg_send_prepare',
  ),
  'next' => 
  array (
    0 => 'function.pg-send-query-params.php',
    1 => 'pg_send_query_params',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/pgsql/functions/pg-send-query.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.pg-send-query" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">pg_send_query</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.2.0, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">pg_send_query</span> &mdash; <span class="dc-title">
   Exécute une requête PostgreSQL asynchrone
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.pg-send-query-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>pg_send_query</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>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$query</code></span>): <span class="type"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>pg_send_query()</strong></span> envoie une requête ou des requêtes de
   manière asynchrone à la connexion <code class="parameter">connection</code>.
   Contrairement à <span class="function"><a href="function.pg-query.php" class="function">pg_query()</a></span>, elle peut envoyer plusieurs
   requêtes à la fois au serveur PostgreSQL et obtenir les résultats un par un
   en utilisant <span class="function"><a href="function.pg-get-result.php" class="function">pg_get_result()</a></span>.
  </p>
  <p class="para">
   L&#039;exécution du script n&#039;est pas bloquée durant l&#039;exécution des requêtes. Utiliser
   <span class="function"><a href="function.pg-connection-busy.php" class="function">pg_connection_busy()</a></span> pour vérifier si la connexion est
   occupée (c&#039;est-à-dire la requête est en train d&#039;être exécutée). Les requêtes
   peuvent être annulées avec <span class="function"><strong>pg_cancel_query()</strong></span>.
  </p>
  <p class="para">
   Bien que l&#039;on puisse envoyer plusieurs requêtes en même temps,
   il n&#039;est pas possible d&#039;envoyer plusieurs requêtes sur une connexion
   occupée. Si une requête est envoyée alors que la connexion est occupée,
   elle attendra que la requête précédente soit terminée et perdra tous ses
   résultats.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.pg-send-query-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">connection</code></dt>
     <dd>
      <p class="para">
       La ressource de connexion de la base de données PostgreSQL.
      </p>
     </dd>
    
    
     <dt><code class="parameter">query</code></dt>
     <dd>
      <p class="para">
       La requête ou les requêtes SQL à être exécutées.
      </p>
      <p class="para">
       Les données contenues dans la requête doivent être
       <a href="function.pg-escape-string.php" class="link">échappées proprement</a>.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.pg-send-query-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Retourne <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en cas de succès, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> ou <code class="literal">0</code> en cas d&#039;échec.
   Utiliser <span class="function"><a href="function.pg-get-result.php" class="function">pg_get_result()</a></span> pour déterminer le résultat
   de la requête.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.pg-send-query-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>
  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-send-query-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_send_query()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />  $dbconn </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"dbname=publisher"</span><span style="color: #007700">) or die(</span><span style="color: #DD0000">"Connexion impossible"</span><span style="color: #007700">);<br /><br />  if (!</span><span style="color: #0000BB">pg_connection_busy</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbconn</span><span style="color: #007700">)) {<br />      </span><span style="color: #0000BB">pg_send_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbconn</span><span style="color: #007700">,</span><span style="color: #DD0000">"select * from auteurs; select count(*) from auteurs;"</span><span style="color: #007700">);<br />  }<br /><br />  </span><span style="color: #0000BB">$res1 </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_get_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbconn</span><span style="color: #007700">);<br />  echo </span><span style="color: #DD0000">"Premier appel de pg_get_result() : </span><span style="color: #0000BB">$res1</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br />  </span><span style="color: #0000BB">$rows1 </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$res1</span><span style="color: #007700">);<br />  echo </span><span style="color: #DD0000">"</span><span style="color: #0000BB">$res1</span><span style="color: #DD0000"> a </span><span style="color: #0000BB">$rows1</span><span style="color: #DD0000"> enregistrements\n\n"</span><span style="color: #007700">;<br /><br />  </span><span style="color: #0000BB">$res2 </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_get_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$dbconn</span><span style="color: #007700">);<br />  echo </span><span style="color: #DD0000">"Second appel de pg_get_result() : </span><span style="color: #0000BB">$res2</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br />  </span><span style="color: #0000BB">$rows2 </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_num_rows</span><span style="color: #007700">(</span><span style="color: #0000BB">$res2</span><span style="color: #007700">);<br />  echo </span><span style="color: #DD0000">"</span><span style="color: #0000BB">$res2</span><span style="color: #DD0000"> a </span><span style="color: #0000BB">$rows2</span><span style="color: #DD0000"> enregistrements\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Premier appel de pg_get_result() : Resource id #3
Resource id #3 a 3 enregistrements

Second appel de pg_get_result() : Resource id #4
Resource id #4 a 1 enregistrements</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.pg-send-query-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.pg-query.php" class="function" rel="rdfs-seeAlso">pg_query()</a> - Ex&eacute;cute une requ&ecirc;te PostgreSQL</span></li>
    <li><span class="function"><strong>pg_cancel_query()</strong></span></li>
    <li><span class="function"><a href="function.pg-get-result.php" class="function" rel="rdfs-seeAlso">pg_get_result()</a> - Lit un r&eacute;sultat PostgreSQL asynchrone</span></li>
    <li><span class="function"><a href="function.pg-connection-busy.php" class="function" rel="rdfs-seeAlso">pg_connection_busy()</a> - V&eacute;rifie si la connexion PostgreSQL est occup&eacute;e</span></li>
   </ul>
  </p>
 </div>

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