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

WBOY
Release: 2016-07-13 10:08:33
Original
1099 people have browsed it

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.com true http://www.bkjia.com/PHPjc/950762.html TechArticle php+mysqli事务控制实现银行转账实例 这篇文章主要介绍了php+mysqli事务控制实现银行转账,实例分析了事物控制的原理与事物回滚的使用技巧...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!