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

yipeiwu_com6年前PHP代码库

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

一、代码

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

或者点击此处本站下载

conn.php:

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

trans.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>处理事务</title>
<style type="text/css">
<!--
body,td,th {
  font-size: 12px;
}
body {
  margin-left: 10px;
  margin-top: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}
-->
</style></head>
<body>
<?php
  include_once 'conn/conn.php';              //载入数据库链接文件
  $conn -> BeginTrans();                //开始事务处理
  $sql = 'delete from tb_object where id = 3';        //sql删除语句
  $rst = $conn -> execute($sql) or die('execute error: '.$conn -> ErrorMsg());     //执行删除语句
  $num = $conn -> Affected_rows();           //查看被更新的记录数
  if(false !== $rst){                 //如果$rst不为假
    if($num != 0){                 //如果$num不为0,说明删除成功
      $conn -> CommitTrans();           //执行提交
      echo '删除成功!';
      exit();
    }else{                   //如果$num为0,说明没有删除记录
      echo '没有数据,或数据已删除';
      exit();
    }
  }else{                     //如果发生意外
    $conn -> RollbackTrans();            //执行回滚操作
    echo '出现意外。';
  }
?>
</body>
</html>

二、运行结果

删除成功!

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基于pdo操作数据库技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php+Oracle数据库程序设计技巧总结》、《php+mssql数据库程序设计技巧总结》、《php+redis数据库程序设计技巧总结》、《php+mysqli数据库程序设计技巧总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

asp函数split()对应php函数explode()

<?php //利用 explode 函数分割字符串到数组 $source = "hello1,hello2,hello3,hello4,hello5";//按逗号分离...

PHP常量define和const的区别详解

前言 常量是一个简单的标识符。在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量)。常量默认大小写敏感。通常常量标识符总是大写的。 可以用define()函数来定义常量。...

PHP线程的内存回收问题

当一个PHP线程结束时,当前占用的所有内存空间都会被销毁。那么如果这个线程不结束,怎么回收内存呢? refcount:引用技术器,可以理解为指向该个容器的指针个数吧。 is_ref:是否...

详细对比php中类继承和接口继承

PHP类继承: 1、PHP类不支持多继承,也就是子类只能继承一个父类,但是支持多层次继承 比如: class frist{ public function __construct...

php反弹shell实现代码

非常无 奈,没想 到什么好的办法,后来灵光一闪。放一个php页面,里面 可以直接弹回来shell,何况在console下面操作比webshell方便的多,也不会出现超时之类的情况。 因为...