ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:userguide:transactions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
v5:userguide:transactions [2016/02/27 17:16] – [Smart Transactions] mnewnhamv5:userguide:transactions [2018/07/01 23:02] – prefer functions start lowercase (#430) peterdd
Line 27: Line 27:
 [[v5:reference:connection:begintrans|beginTrans()]]\\ [[v5:reference:connection:begintrans|beginTrans()]]\\
 [[v5:reference:connection:rollbacktrans|rollbackTrans()]]\\ [[v5:reference:connection:rollbacktrans|rollbackTrans()]]\\
-[[v5:reference:connection:completetrans|completeTrans()]]+[[v5:reference:connection:completetrans|completeTrans()]]\\ 
 +== See Also == 
 +[[v5:reference:connection:transOff|Temporarily Disabling Transactions]]\\ 
 +[[v5:reference:connection:transCnt|Checking Transaction Status]]\\
 </WRAP> </WRAP>
 When using granular transactions, it is the duty of the programmer to check whether a transaction execution has succeeded or failed. This allows the code to branch as desired in the case of a transaction failure. When using granular transactions, it is the duty of the programmer to check whether a transaction execution has succeeded or failed. This allows the code to branch as desired in the case of a transaction failure.
Line 72: Line 75:
 [[v5:reference:connection:hasfailedtrans|hasFailedTrans()]]\\ [[v5:reference:connection:hasfailedtrans|hasFailedTrans()]]\\
 [[v5:reference:connection:completetrans|completeTrans()]] [[v5:reference:connection:completetrans|completeTrans()]]
 +== See Also ==
 +[[v5:reference:connection:transOff|Temporarily Disabling Transactions]]\\
 +[[v5:reference:connection:transCnt|Checking Transaction Status]]\\
 </WRAP> </WRAP>
-Smart Transactions are much easier to use in large procedures because you do not have to track the error status. You start a smart transaction by calling StartTrans():+Smart Transactions are much easier to use in large procedures because you do not have to track the error status. You start a smart transaction by calling startTrans():
  
 <code php> <code php>
Line 84: Line 90:
 * Execute some SQL * Execute some SQL
 */ */
-$conn->Execute($sql);+$conn->execute($sql);
  
 /* /*
 * Execute some more SQL * Execute some more SQL
 */ */
-$conn->Execute($sql2);+$conn->execute($sql2);
  
 /* /*
Line 107: Line 113:
 $conn->execute($sql); $conn->execute($sql);
  
-if (!CheckRecords()) +if (!checkRecords()) 
     $conn->failTrans();     $conn->failTrans();
  
Line 114: Line 120:
 * it will also be rolled back * it will also be rolled back
 */ */
-$conn->Execute($sql2);+$conn->execute($sql2);
  
-$conn->CompleteTrans();+$conn->completeTrans();
 </code> </code>
  
-You can also check if a transaction has failed, using [[v5:reference:connection:hasfailedtrans]], which returns true: +You can also check if a transaction has failed, using [[v5:reference:connection:hasfailedtrans|hasFailedTrans()]], which returns true: 
-  * if [[v5:reference:connection:failtrans]] was called,  +  * if [[v5:reference:connection:failtrans|failTrans()]] was called,  
-  * There was an error in the SQL execution. +  * There was an error in the SQL execution. This execution comprises all scenarios where the SQL statement was successfully issued, but failed to complete. This does not include scenarios where the construction of the statement failed, and an error occurred that was trapped by PHP error handling.
  
-Make sure you call ''hasFailedTrans()'' before you call ''completeTrans()'', as it is only works between StartTrans/CompleteTrans.+Make sure you call ''hasFailedTrans()'' before you call ''completeTrans()'', as it is only works between startTrans/completeTrans.
  
  
Line 142: Line 148:
 */ */
 $conn->startTrans(); $conn->startTrans();
-if (!CheckRecords()) +if (!checkRecords()) 
     /*     /*
     * This is applied to the outer block     * This is applied to the outer block
Line 161: Line 167:
 ==== Savepoints ==== ==== Savepoints ====
 Savepoints are currently not supported. Savepoints are currently not supported.
- 
v5/userguide/transactions.txt · Last modified: 2020/08/26 10:09 by dregad