>백엔드 개발 >PHP 튜토리얼 >php+mysqli事务控制实现银行转账实例_PHP教程

php+mysqli事务控制实现银行转账实例_PHP教程

WBOY
WBOY원래의
2016-07-13 10:08:331185검색

php+mysqli事务控制实现银行转账实例

 这篇文章主要介绍了php+mysqli事务控制实现银行转账,实例分析了事物控制的原理与事物回滚的使用技巧,需要的朋友可以参考

本文实例讲述了php+mysqli事务控制实现银行转账的方法。分享给大家供大家参考。具体分析如下:

事务控制,也就是说所有的语句执行成功后,才会提交。否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态。通过银行转账的案例来说明这个应用。一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功。

代码如下:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

//1、创建数据库连接对象

$mysqli = new MySQLi("localhost","root","123456","liuyan");

if($mysqli->connect_error){

die($mysqli->connect_error);

}

$mysqli->query("set names 'GBK'");

 

$mysqli->autocommit(false);

//首先设置autocommit为false,也就是不自动提交

 

$sql1 = "update account set balance=balance-2 where id=1;";

$sql2 = "update account set balance=balance+2 where id=2;";

$res1 =$mysqli->query($sql1) or die($mysqli->error);

$res2 =$mysqli->query($sql2) or die($mysqli->error);

 

if(!$res1 || !$res2){

echo "转账失败";

$mysqli->rollback();//如果有一条不成功,则回滚

}else{

$mysqli->commit();//两条语句都执行成功,则提交

echo "转账成功";

}

?>

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/950762.htmlTechArticlephp+mysqli事务控制实现银行转账实例 这篇文章主要介绍了php+mysqli事务控制实现银行转账,实例分析了事物控制的原理与事物回滚的使用技巧...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.