Source of: /manual/fr/mysqli.multi-query.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.mysqli.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'fr',
),
'this' =>
array (
0 => 'mysqli.multi-query.php',
1 => 'mysqli::multi_query',
),
'up' =>
array (
0 => 'class.mysqli.php',
1 => 'mysqli',
),
'prev' =>
array (
0 => 'mysqli.more-results.php',
1 => 'mysqli::more_results',
),
'next' =>
array (
0 => 'mysqli.next-result.php',
1 => 'mysqli::next_result',
),
'alternatives' =>
array (
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="mysqli.multi-query" class="refentry">
<div class="refnamediv">
<h1 class="refname">mysqli::multi_query</h1>
<h1 class="refname">mysqli_multi_query</h1>
<p class="verinfo">(PHP 5)</p><p class="refpurpose"><span class="refname">mysqli::multi_query</span> -- <span class="refname">mysqli_multi_query</span> — <span class="dc-title">Exécute une requête MySQL multiple</span></p>
</div>
<div class="refsect1 description" id="refsect1-mysqli.multi-query-description">
<h3 class="title">Description</h3>
<p class="para">Style orienté objet</p>
<div class="methodsynopsis dc-description">
<span class="type">bool</span> <span class="methodname"><strong>mysqli::multi_query</strong></span>
( <span class="methodparam"><span class="type">string</span> <code class="parameter">$query</code></span>
)</div>
<p class="para rdfs-comment">Style procédural</p>
<div class="methodsynopsis dc-description">
<span class="type">bool</span> <span class="methodname"><strong>mysqli_multi_query</strong></span>
( <span class="methodparam"><span class="type"><a href="class.mysqli.php" class="type mysqli">mysqli</a></span> <code class="parameter">$link</code></span>
, <span class="methodparam"><span class="type">string</span> <code class="parameter">$query</code></span>
)</div>
<p class="para rdfs-comment">
Exécute une ou plusieurs requêtes, rassemblées dans le paramètre
<em><code class="parameter">query</code></em> par des points-virgules.
</p>
<p class="para">
Pour lire les résultats de la première requête, vous pouvez utiliser
les fonctions <span class="function"><a href="mysqli.use-result.php" class="function">mysqli_use_result()</a></span> et
<span class="function"><a href="mysqli.store-result.php" class="function">mysqli_store_result()</a></span>. Tous les autres résultats
de requêtes peuvent être atteints avec
<span class="function"><a href="mysqli.more-results.php" class="function">mysqli_more_results()</a></span> et
<span class="function"><a href="mysqli.next-result.php" class="function">mysqli_next_result()</a></span>.
</p>
</div>
<div class="refsect1 parameters" id="refsect1-mysqli.multi-query-parameters">
<h3 class="title">Liste de paramètres</h3>
<p class="para">
<dl>
<dt>
<span class="term"><em><code class="parameter">
link</code></em></span><dd>
<p class="para">Seulement en style procédural : Un
identifiant de lien retourné par la fonction <span class="function"><a href="function.mysqli-connect.php" class="function">mysqli_connect()</a></span>
ou par la fonction <span class="function"><a href="mysqli.init.php" class="function">mysqli_init()</a></span></p></dd>
</dt>
<dt>
<span class="term"><em><code class="parameter">query</code></em></span>
<dd>
<p class="para">
La requête, sous la forme d'une <a href="language.types.string.php" class="link">chaîne de caractères</a>.
</p>
<p class="para">
Les données contenues dans la requête doivent être <a href="mysqli.real-escape-string.php" class="link">échappées</a>.
</p>
</dd>
</dt>
</dl>
</p>
</div>
<div class="refsect1 returnvalues" id="refsect1-mysqli.multi-query-returnvalues">
<h3 class="title">Valeurs de retour</h3>
<p class="para">
Retourne <strong><code>FALSE</code></strong> uniquement si la première requête échoue. Pour récupérer
les sous-séquences d'erreurs issues des autres requêtes, vous devez appeler
d'abord la fonction <span class="function"><a href="mysqli.next-result.php" class="function">mysqli_next_result()</a></span>.
</p>
</div>
<div class="refsect1 examples" id="refsect1-mysqli.multi-query-examples">
<h3 class="title">Exemples</h3>
<div class="example" id="example-1751">
<p><strong>Exemple #1 Exemple avec <span class="methodname"><strong>mysqli::multi_query()</strong></span></strong></p>
<div class="example-contents"><p>Style orienté objet</p></div>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br />$mysqli </span><span style="color: #007700">= new </span><span style="color: #0000BB">mysqli</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"world"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Vérification de la connexion */<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">mysqli_connect_errno</span><span style="color: #007700">()) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Échec de la connexion : %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">mysqli_connect_error</span><span style="color: #007700">());<br /> exit();<br />}<br /><br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">= </span><span style="color: #DD0000">"SELECT CURRENT_USER();"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">.= </span><span style="color: #DD0000">"SELECT Name FROM City ORDER BY ID LIMIT 20, 5"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">/* Exécution d'une requête multiple */<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">multi_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">)) {<br /> do {<br /> </span><span style="color: #FF8000">/* Stockage du premier résultat */<br /> </span><span style="color: #007700">if (</span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">store_result</span><span style="color: #007700">()) {<br /> while (</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">$result</span><span style="color: #007700">-></span><span style="color: #0000BB">fetch_row</span><span style="color: #007700">()) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]);<br /> }<br /> </span><span style="color: #0000BB">$result</span><span style="color: #007700">-></span><span style="color: #0000BB">free</span><span style="color: #007700">();<br /> }<br /> </span><span style="color: #FF8000">/* Affichage d'une séparation */<br /> </span><span style="color: #007700">if (</span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">more_results</span><span style="color: #007700">()) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"-----------------\n"</span><span style="color: #007700">);<br /> }<br /> } while (</span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">next_result</span><span style="color: #007700">());<br />}<br /><br /></span><span style="color: #FF8000">/* Fermeture de la connexion */<br /></span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">close</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
<div class="example-contents"><p>Style procédural</p></div>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br />$link </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"world"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Vérification de la connexion */<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">mysqli_connect_errno</span><span style="color: #007700">()) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Échec de la connexion : %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">mysqli_connect_error</span><span style="color: #007700">());<br /> exit();<br />}<br /><br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">= </span><span style="color: #DD0000">"SELECT CURRENT_USER();"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">.= </span><span style="color: #DD0000">"SELECT Name FROM City ORDER BY ID LIMIT 20, 5"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">/* Exécution d'une requête multiple */<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">mysqli_multi_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$link</span><span style="color: #007700">, </span><span style="color: #0000BB">$query</span><span style="color: #007700">)) {<br /> do {<br /> </span><span style="color: #FF8000">/* sStockage du premier résultat */<br /> </span><span style="color: #007700">if (</span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_store_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$link</span><span style="color: #007700">)) {<br /> while (</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_fetch_row</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">)) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]);<br /> }<br /> </span><span style="color: #0000BB">mysqli_free_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /> }<br /> </span><span style="color: #FF8000">/* Affichage d'une séparation */<br /> </span><span style="color: #007700">if (</span><span style="color: #0000BB">mysqli_more_results</span><span style="color: #007700">(</span><span style="color: #0000BB">$link</span><span style="color: #007700">)) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"-----------------\n"</span><span style="color: #007700">);<br /> }<br /> } while (</span><span style="color: #0000BB">mysqli_next_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$link</span><span style="color: #007700">));<br />}<br /><br /></span><span style="color: #FF8000">/* Fermeture de la connexion */<br /></span><span style="color: #0000BB">mysqli_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$link</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
<div class="example-contents"><p>Les exemples ci-dessus vont afficher quelque chose de similaire à :</p></div>
<div class="example-contents screen">
<div class="cdata"><pre>
my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer
</pre></div>
</div>
</div>
</div>
<div class="refsect1 seealso" id="refsect1-mysqli.multi-query-seealso">
<h3 class="title">Voir aussi</h3>
<p class="para">
<ul class="simplelist">
<li class="member"> <span class="function"><a href="mysqli.query.php" class="function" rel="rdfs-seeAlso">mysqli_query()</a> - Exécute une requête sur la base de données</span></li>
<li class="member"> <span class="function"><a href="mysqli.use-result.php" class="function" rel="rdfs-seeAlso">mysqli_use_result()</a> - Initialise la récupération d'un jeu de résultats</span></li>
<li class="member"> <span class="function"><a href="mysqli.store-result.php" class="function" rel="rdfs-seeAlso">mysqli_store_result()</a> - Transfère un jeu de résultats à partir de la dernière requête</span></li>
<li class="member"> <span class="function"><a href="mysqli.next-result.php" class="function" rel="rdfs-seeAlso">mysqli_next_result()</a> - Prépare le prochain résultat d'une requête multiple</span></li>
<li class="member"> <span class="function"><a href="mysqli.more-results.php" class="function" rel="rdfs-seeAlso">mysqli_more_results()</a> - Vérifie s'il y a d'autres jeux de résultats MySQL disponibles</span></li>
</ul>
</p>
</div>
</div><?php manual_footer(); ?>