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程序设计有所帮助。

相关文章

php实现以只读方式打开文件的方法

本文实例讲述了php实现以只读方式打开文件的方法。分享给大家供大家参考。具体分析如下: php中可以通过fopen()打开一个文件,第二个参数设置为"r"表示已只读方式打开,函数返回一个...

THINKPHP内容分页代码分享

在使用Thinkphp开发的内容管理系统里面,很多东西都要自己开发,内容分页当然也是要自己开发的,下面是我根据查资料自己整理的方法: 1、首先是在后台编辑内容的时候需要插入分页符,不同的...

深入解析fsockopen与pfsockopen的区别

按手册上说,这两个函数的唯一区别是,pfsockopen是持续连接,而fsockopen不是. 我写了个代码了一下: 复制代码 代码如下:<?php $data="1,0,721,...

PHP生成excel时单元格内换行问题的解决方法

翻出来源码开了下,字符串中使用换行的方法为"Name:{$name}\nAddress:{$adress}\nCity:{$city}\nCountry:{$country}\n ......

解析isset与is_null的区别

isset和is_null啥区别,看手册上讲的话, isset和is_null的功能几乎完全”相反的一样”..是不是isset就是一个is_null的相反的别名?诶, 要说区别, 那还真...