Home  >  Article  >  Backend Development  >  Example of transaction processing transfer problem using php+Mysqli_PHP tutorial

Example of transaction processing transfer problem using php+Mysqli_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:07:08742browse

An example of php+Mysqli using transaction processing to handle transfer problems

This article mainly introduces the method of php+Mysqli using transaction processing to handle transfer problems. The example analyzes how php+mysqli handles transactions. For tips on submission and rollback, friends who need it can refer to it

The example in this article describes how php+Mysqli uses transactions to handle transfer issues. Share it with everyone for your reference. The specific implementation method is as follows:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

header("Content-type:text/html; charset=utf-8");

$mysqli = new mysqli("localhost", "root", "064319", "php");

$mysqli->set_charset("utf8");

 

if($mysqli->connect_errno) {

die('数据库连接失败'.$mysqli->connect_error);

}

 

$mysqli->autocommit(false); //自动提交模式设为false

$flag = true; //事务是否成功执行的标志

 

$query = "update account set balance=balance-1000 where id=3";

$result = $mysqli->query($query);

$affected_count = $mysqli->affected_rows;

if(!result || $affected_count == 0) { //失败

$flag = false;

}

 

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

$result = $mysqli->query($query);

$affected_count = $mysqli->affected_rows;

if(!$result || $affected_count == 0) {

$flag = false;

}

 

if($flag) {

$mysqli->commit();

echo '转账成功';

} else {

$mysqli->rollback();

echo '转账失败';

}

 

$mysqli->autocommit(true); //重新设置事务为自动提交

$mysqli->close();

?>

1 2

3

4 5

67 8 9 10 11 12
13
14
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
<🎜>header("Content-type:text/html; charset=utf-8");<🎜> <🎜> <🎜> <🎜>$mysqli = new mysqli("localhost", "root", "064319", "php");<🎜> <🎜>$mysqli->set_charset("utf8"); if($mysqli->connect_errno) { die('Database connection failed'.$mysqli->connect_error); } $mysqli->autocommit(false); //Set automatic commit mode to false $flag = true; //Flag indicating whether the transaction was successfully executed $query = "update account set balance=balance-1000 where id=3"; $result = $mysqli->query($query); $affected_count = $mysqli->affected_rows; if(!result || $affected_count == 0) { //Failed $flag = false; } $query = "update account set balance=balance+1000 where id=2"; $result = $mysqli->query($query); $affected_count = $mysqli->affected_rows; if(!$result || $affected_count == 0) { $flag = false; } if($flag) { $mysqli->commit(); echo 'Transfer successful'; } else { $mysqli->rollback(); echo 'Transfer failed'; } $mysqli->autocommit(true); //Reset the transaction to automatically commit $mysqli->close(); ?>
I hope this article will be helpful to everyone’s PHP programming design. http://www.bkjia.com/PHPjc/956985.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/956985.htmlTechArticleAn example of php+Mysqli using transaction processing to transfer money. This article mainly introduces the problem of php+Mysqli using transaction processing to transfer money. Methods and examples analyze how php+mysqli handles transaction submission and rollback...
Statement:
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