<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >PDO->rollBack()</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="Manual do PHP" HREF="index.html"><LINK REL="UP" TITLE="PDO Functions" HREF="ref.pdo.html"><LINK REL="PREVIOUS" TITLE="PDO->quote()" HREF="function.pdo-quote.html"><LINK REL="NEXT" TITLE="PDO->setAttribute()" HREF="function.pdo-setattribute.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Manual do PHP</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.pdo-quote.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.pdo-setattribute.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.PDO-rollBack" ></A >PDO->rollBack()</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN172579" ></A ><P > (no version information, might be only in CVS)</P >PDO->rollBack() -- Rolls back a transaction </DIV ><DIV CLASS="refsect1" ><A NAME="AEN172582" ></A ><H2 >Descrição</H2 >class <B CLASS="classname" >PDO</B > { <BR ></BR >bool <B CLASS="methodname" >rollBack</B > ( void )<BR ></BR >}<P > Rolls back the current transaction, as initiated by <A HREF="function.pdo-begintransaction.html" >PDO->beginTransaction()</A >. It is an error to call this method if no transaction is active. </P ><P > If the database was set to autocommit mode, this function will restore autocommit mode after it has rolled back the transaction. </P ><P > Some databases, including MySQL, automatically issue an implicit COMMIT when a database definition language (DDL) statement such as DROP TABLE or CREATE TABLE is issued within a transaction. The implicit COMMIT will prevent you from rolling back any other changes within the transaction boundary. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN172595" ></A ><H2 >Valores de retornado</H2 ><P > Retorna <TT CLASS="constant" ><B >TRUE</B ></TT > em caso de sucesso ou <TT CLASS="constant" ><B >FALSE</B ></TT > em falhas. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN172600" ></A ><H2 >Exemplos</H2 ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN172603" ></A ><P ><B >Exemplo 1. Roll back a transaction</B ></P ><P > The following example begins a transaction and issues two statements that modify the database before rolling back the changes. On MySQL, however, the DROP TABLE statement automatically commits the transaction so that none of the changes in the transaction are rolled back. </P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#FF8000">/* Begin a transaction, turning off autocommit */<br /></font><font color="#0000BB">$dbh</font><font color="#007700">-></font><font color="#0000BB">beginTransaction</font><font color="#007700">();<br /><br /></font><font color="#FF8000">/* Change the database schema and data */<br /></font><font color="#0000BB">$sth </font><font color="#007700">= </font><font color="#0000BB">$dbh</font><font color="#007700">-></font><font color="#0000BB">exec</font><font color="#007700">(</font><font color="#DD0000">"DROP TABLE fruit"</font><font color="#007700">);<br /></font><font color="#0000BB">$sth </font><font color="#007700">= </font><font color="#0000BB">$dbh</font><font color="#007700">-></font><font color="#0000BB">exec</font><font color="#007700">(</font><font color="#DD0000">"UPDATE dessert<br /> SET name = 'hamburger'"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">/* Recognize mistake and roll back changes */<br /></font><font color="#0000BB">$dbh</font><font color="#007700">-></font><font color="#0000BB">rollBack</font><font color="#007700">();<br /><br /></font><font color="#FF8000">/* Database connection is now back in autocommit mode */<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN172607" ></A ><H2 >Veja também</H2 ><P > <P ></P ><TABLE BORDER="0" ><TBODY ><TR ><TD ><A HREF="function.pdo-begintransaction.html" >PDO->beginTransaction()</A ></TD ></TR ><TR ><TD ><A HREF="function.pdo-commit.html" >PDO->commit()</A ></TD ></TR ></TBODY ></TABLE ><P ></P > </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.pdo-quote.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Principal</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.pdo-setattribute.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >PDO->quote()</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.pdo.html" ACCESSKEY="U" >Acima</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >PDO->setAttribute()</TD ></TR ></TABLE ></DIV ></BODY ></HTML >