<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.pdo.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'pdo.rollback.php',
    1 => 'PDO::rollBack',
    2 => 'Anula una transacci&oacute;n',
  ),
  'up' => 
  array (
    0 => 'class.pdo.php',
    1 => 'PDO',
  ),
  'prev' => 
  array (
    0 => 'pdo.quote.php',
    1 => 'PDO::quote',
  ),
  'next' => 
  array (
    0 => 'pdo.setattribute.php',
    1 => 'PDO::setAttribute',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/pdo/pdo/rollback.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="pdo.rollback" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">PDO::rollBack</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.1.0, PHP 7, PHP 8, PECL pdo &gt;= 0.1.0)</p><p class="refpurpose"><span class="refname">PDO::rollBack</span> &mdash; <span class="dc-title">
   Anula una transacción
  </span></p>

 </div>
 <div class="refsect1 description" id="refsect1-pdo.rollback-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>PDO::rollBack</strong></span>(): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>


  <p class="para rdfs-comment">
   Anula la transacción actual, iniciada por la función
   <span class="methodname"><a href="pdo.begintransaction.php" class="methodname">PDO::beginTransaction()</a></span>.
  </p>
  <p class="para">
   Si la base de datos está en modo autocommit, esta función
   restaurará el modo autocommit después de la anulación de la transacción.
  </p>
  <p class="para">
   Algunas bases de datos, incluyendo MySQL, ejecutarán automáticamente un COMMIT
   cuando se ejecute una consulta de definición de lenguaje de base de datos (DDL) como
   DROP TABLE o CREATE TABLE en una transacción. Este COMMIT implícito impedirá anular
   cualquier otra modificación realizada en esta transacción.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-pdo.rollback-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">Esta función no contiene ningún parámetro.</p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-pdo.rollback-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Esta función retorna <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en caso de éxito o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si ocurre un error.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-pdo.rollback-errors">
  <h3 class="title">Errores/Excepciones</h3>
  <p class="para">
   Se lanzará una excepción <span class="classname"><a href="class.pdoexception.php" class="classname">PDOException</a></span> si no hay
   ninguna transacción activa.
  </p>
  <blockquote class="note"><p><strong class="note">Nota</strong>: <span class="simpara">
    Una excepción será emitida incluso si el atributo <strong><code><a href="pdo.constants.php#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> no vale
    <strong><code><a href="pdo.constants.php#pdo.constants.errmode-exception">PDO::ERRMODE_EXCEPTION</a></code></strong>.</span></p></blockquote>
 </div>


 <div class="refsect1 examples" id="refsect1-pdo.rollback-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Anulación de una transacción</strong></p>
    <div class="example-contents"><p>
     El siguiente ejemplo comienza una transacción y ejecuta dos consultas
     que modifican la base de datos antes de anular las modificaciones. En MySQL,
     sin embargo, la consulta DROP TABLE validará automáticamente la transacción,
     por lo que ninguna de las modificaciones de la transacción será anulada.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* Inicio de una transacción, desactivación del modo autocommit */<br /></span><span style="color: #0000BB">$dbh</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">beginTransaction</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/* Modifica el esquema de la base de datos así como los datos */<br /></span><span style="color: #0000BB">$sth </span><span style="color: #007700">= </span><span style="color: #0000BB">$dbh</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">exec</span><span style="color: #007700">(</span><span style="color: #DD0000">"DROP TABLE fruit"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$sth </span><span style="color: #007700">= </span><span style="color: #0000BB">$dbh</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">exec</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE dessert<br />    SET name = 'hamburger'"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Se detecta un error y se anulan las modificaciones */<br /></span><span style="color: #0000BB">$dbh</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">rollBack</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/* La conexión a la base de datos vuelve al modo autocommit */<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

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


 <div class="refsect1 seealso" id="refsect1-pdo.rollback-seealso">
  <h3 class="title">Ver también</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="methodname"><a href="pdo.begintransaction.php" class="methodname" rel="rdfs-seeAlso">PDO::beginTransaction()</a> - Inicia una transacci&oacute;n</span></li>
    <li><span class="methodname"><a href="pdo.commit.php" class="methodname" rel="rdfs-seeAlso">PDO::commit()</a> - Valida una transacci&oacute;n</span></li>
    <li><a href="pdo.transactions.php" class="link">Transacciones y auto-commit</a></li>
   </ul>
  </p>
 </div>


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