PHP ADODB实现事务处理功能示例

本文实例讲述了PHP ADODB实现事务处理功能,分享给大家供大家参考,具体如下:

一、代码

adodb.inc.php可从官方网站http://adodb.sourceforge.net/ 下载。

或者点击此处本站下载。

conn.php:

  1. <?php
  2. include_once ('../adodb5/adodb.inc.php');
  3. $conn = ADONewConnection('mysql');
  4. $conn -> PConnect('localhost','root','root','db_database14');
  5. $conn -> execute('set names gb2312');
  6. ?>

trans.php:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>处理事务</title>
  6. <style type="text/css">
  7. <!--
  8. body,td,th {
  9. font-size: 12px;
  10. }
  11. body {
  12. margin-left: 10px;
  13. margin-top: 10px;
  14. margin-right: 10px;
  15. margin-bottom: 10px;
  16. }
  17. -->
  18. </style></head>
  19. <body>
  20. <?php
  21. include_once 'conn/conn.php'; //载入数据库链接文件
  22. $conn -> BeginTrans(); //开始事务处理
  23. $sql = 'delete from tb_object where id = 3'; //sql删除语句
  24. $rst = $conn -> execute($sql) or die('execute error: '.$conn -> ErrorMsg()); //执行删除语句
  25. $num = $conn -> Affected_rows(); //查看被更新的记录数
  26. if(false !== $rst){ //如果$rst不为假
  27. if($num != 0){ //如果$num不为0,说明删除成功
  28. $conn -> CommitTrans(); //执行提交
  29. echo '删除成功!';
  30. exit();
  31. }else{ //如果$num为0,说明没有删除记录
  32. echo '没有数据,或数据已删除';
  33. exit();
  34. }
  35. }else{ //如果发生意外
  36. $conn -> RollbackTrans(); //执行回滚操作
  37. echo '出现意外。';
  38. }
  39. ?>
  40. </body>
  41. </html>

二、运行结果

删除成功!