<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >PDO->beginTransaction()</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 Functions" HREF="ref.pdo.html"><LINK REL="NEXT" TITLE="PDO->commit()" HREF="function.pdo-commit.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="ref.pdo.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-commit.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.PDO-beginTransaction" ></A >PDO->beginTransaction()</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN171852" ></A ><P > (no version information, might be only in CVS)</P >PDO->beginTransaction() -- Initiates a transaction </DIV ><DIV CLASS="refsect1" ><A NAME="AEN171855" ></A ><H2 >Descrição</H2 >class <B CLASS="classname" >PDO</B > { <BR ></BR >bool <B CLASS="methodname" >beginTransaction</B > ( void )<BR ></BR >}<P > Turns off autocommit mode. While autocommit mode is turned off, changes made to the database via the PDO object instance are not committed until you end the transaction by calling <A HREF="function.pdo-commit.html" >PDO->commit()</A >. Calling <A HREF="function.pdo-rollback.html" >PDO->rollBack()</A > will roll back all changes to the database and return the connection to autocommit mode. </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="AEN171868" ></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="AEN171873" ></A ><H2 >Exemplos</H2 ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN171876" ></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="AEN171880" ></A ><H2 >Veja também</H2 ><P > <P ></P ><TABLE BORDER="0" ><TBODY ><TR ><TD ><A HREF="function.pdo-commit.html" >PDO->commit()</A ></TD ></TR ><TR ><TD ><A HREF="function.pdo-rollback.html" >PDO->rollBack()</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="ref.pdo.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-commit.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >PDO Functions</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->commit()</TD ></TR ></TABLE ></DIV ></BODY ></HTML >