<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.ibm-db2.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.db2-rollback.php',
    1 => 'db2_rollback',
    2 => 'Annule une transaction',
  ),
  'up' => 
  array (
    0 => 'ref.ibm-db2.php',
    1 => 'Fonctions IBM DB2',
  ),
  'prev' => 
  array (
    0 => 'function.db2-result.php',
    1 => 'db2_result',
  ),
  'next' => 
  array (
    0 => 'function.db2-server-info.php',
    1 => 'db2_server_info',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/ibm_db2/functions/db2-rollback.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.db2-rollback" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">db2_rollback</h1>
  <p class="verinfo">(PECL ibm_db2 &gt;= 1.0.0)</p><p class="refpurpose"><span class="refname">db2_rollback</span> &mdash; <span class="dc-title">
   Annule une transaction
  </span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.db2-rollback-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>db2_rollback</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> <code class="parameter">$connection</code></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>


  <p class="simpara">
   Annule une transaction en cours sur la connexion spécifiée et commence une
   nouvelle transaction. Les applications PHP ont normalement
   pour valeur par défaut AUTOCOMMIT d&#039;activé, alors
   <span class="function"><a href="function.db2-commit.php" class="function">db2_commit()</a></span> n&#039;est pas nécessaire tant que AUTOCOMMIT
   n&#039;est pas désactivée pour la ressource de connexion.
  </p>

 </div>

 <div class="refsect1 parameters" id="refsect1-function.db2-rollback-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <dl>
   
   <dt><code class="parameter">connection</code></dt>
    <dd>
     <span class="simpara">
      Une variable ressource de connexion valide retournée par
      <span class="function"><a href="function.db2-connect.php" class="function">db2_connect()</a></span> ou <span class="function"><a href="function.db2-pconnect.php" class="function">db2_pconnect()</a></span>.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.db2-rollback-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="simpara">
   Cette fonction retourne <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> 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 examples" id="refsect1-function.db2-rollback-examples">
  <h3 class="title">Exemples</h3>
  <div class="example" id="example-1">
   <p><strong>Exemple #1 Annulation d&#039;une requête DELETE</strong></p>
   <div class="example-contents"><p>
    Dans l&#039;exemple suivant, nous comptons le nombre de ligne dans la table,
    désactivons le mode AUTOCOMMIT sur la connexion de la base de données,
    supprimons toutes les lignes dans la table et retournons le nombre
    <code class="literal">0</code> pour prouver que les lignes ont bien été supprimées.
    Ensuite nous utilisons la fonction <span class="function"><strong>db2_rollback()</strong></span> et
    retournons la nouvelle valeur du nombre de ligne dans la table pour
    montrer que le nombre est le même que celui que nous avions avant d&#039;effectuer la
    requête DELETE. Le retour à l&#039;état original de la table démontre que
    l&#039;annulation de la transaction a réussi.
   </p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$database</span><span style="color: #007700">, </span><span style="color: #0000BB">$user</span><span style="color: #007700">, </span><span style="color: #0000BB">$password</span><span style="color: #007700">);<br /><br />if (</span><span style="color: #0000BB">$conn</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$stmt </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_exec</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT count(*) FROM animaux"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$res </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_fetch_array</span><span style="color: #007700">( </span><span style="color: #0000BB">$stmt </span><span style="color: #007700">);<br />    echo </span><span style="color: #0000BB">$res</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">] . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br />    </span><span style="color: #FF8000">// Désactive AUTOCOMMIT<br />    </span><span style="color: #0000BB">db2_autocommit</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #0000BB">DB2_AUTOCOMMIT_OFF</span><span style="color: #007700">);<br /><br />    </span><span style="color: #FF8000">// Suppression de toutes les lignes de ANIMAUX<br />    </span><span style="color: #0000BB">db2_exec</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"DELETE FROM animals"</span><span style="color: #007700">);<br /><br />    </span><span style="color: #0000BB">$stmt </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_exec</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT count(*) FROM animaux"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$res </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_fetch_array</span><span style="color: #007700">( </span><span style="color: #0000BB">$stmt </span><span style="color: #007700">);<br />    echo </span><span style="color: #0000BB">$res</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">] . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br />    </span><span style="color: #FF8000">// Annule la requête DELETE<br />    </span><span style="color: #0000BB">db2_rollback</span><span style="color: #007700">( </span><span style="color: #0000BB">$conn </span><span style="color: #007700">);<br /><br />    </span><span style="color: #0000BB">$stmt </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_exec</span><span style="color: #007700">( </span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT count(*) FROM animaux" </span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$res </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_fetch_array</span><span style="color: #007700">( </span><span style="color: #0000BB">$stmt </span><span style="color: #007700">);<br />    echo </span><span style="color: #0000BB">$res</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">] . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />    </span><span style="color: #0000BB">db2_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br />}<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">7
0
7</pre>
</div>
   </div>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.db2-rollback-seealso">
  <h3 class="title">Voir aussi</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.db2-autocommit.php" class="function" rel="rdfs-seeAlso">db2_autocommit()</a> - Retourne ou modifie l'&eacute;tat AUTOCOMMIT de la connexion &agrave; la base de
   donn&eacute;es</span></li>
   <li><span class="function"><a href="function.db2-commit.php" class="function" rel="rdfs-seeAlso">db2_commit()</a> - Valide la transaction</span></li>
  </ul>
 </div>

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