php+Mysqli利用事务处理转账问题实例

 这篇文章主要介绍了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
25
26
27
28
29
30
31
32
33
34
35
36
37
38

<?php
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();
?>

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

时间: 2025-01-21 07:20:20

php+Mysqli利用事务处理转账问题实例的相关文章

php+Mysqli利用事务处理转账问题实例_php技巧

本文实例讲述了php+Mysqli利用事务处理转账问题的方法.分享给大家供大家参考.具体实现方法如下: <?php header("Content-type:text/html; charset=utf-8"); $mysqli = new mysqli("localhost", "root", "064319", "php"); $mysqli->set_charset("utf8&

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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 <?php header("Content-type:text/html; charset=utf-8");   $my

php利用事务处理转账问题_php实例

本文实例讲述了php+Mysqli利用事务处理转账问题的方法.分享给大家供大家参考 <?php header("Content-type:text/html; charset=utf-8"); $mysqli = new mysqli("localhost", "root", "064319", "php"); $mysqli->set_charset("utf8"); if

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

 这篇文章主要介绍了php+mysqli事务控制实现银行转账,实例分析了事物控制的原理与事物回滚的使用技巧,需要的朋友可以参考 本文实例讲述了php+mysqli事务控制实现银行转账的方法.分享给大家供大家参考.具体分析如下: 事务控制,也就是说所有的语句执行成功后,才会提交.否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态.通过银行转账的案例来说明这个应用.一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功. 代码如下:   1 2 3 4 5 6 7 8 9 1

js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称

js|对象|函数|循环 1,列举对象属性的名称<script language="javascript">var obj=new Object();obj.a="您好,我是田洪川";obj.b="你是田洪川咋的,不得了啊?";obj.c="西西,哈哈,我是属性 c ";//上面当然是申明一个新的对象,并给对象申明属性再赋值//下面我们再给上面的对象做一个镶套的对象,还是加新属性并赋值obj.d=new Object

php中利用cookie实现购物车实例

PHP购物车,在互联网中有好多网店,他们是怎样实现购物车?大多的网站都用cookie来实现.偶也自己写了一个简单的实例让大家参考一下 用cookie简单的实现购物车 数据库:  代码如下 复制代码 – phpMyAdmin SQL Dump – version 2.11.9.2 – – 主机: 127.0.0.1:3306 – 生成日期: 2009 年 12 月 06 日 02:05 – 服务器版本: 5.1.28 – PHP 版本: 5.2.6 SET SQL_MODE="NO_AUTO_VA

php入门教程:利用表单调查表实例

 代码如下 复制代码  <html> <head> <title>php教程入门教程:利用表单调查表实例</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body bgcolor="#ffffff"> <?php // 定义显示表单函数

mysql事务处理用法与实例详解

一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行.换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的.如果在事务的任何操作失败,则整个事务将失败. 实际上,会俱乐部许多SQL查询到一个组中,将执行所有的人都一起作为事务的一部分. 事务的特性: 事务有以下四个标准属性的缩写ACID,通常被称为: 原子性: 确保工作单元内的所有操作都成功完成,否则事务将被中止在故障点,和以前的操作将回滚到以前的状态. 一致性: 确保数据库正确地改变状态后,成功提交的事务. 隔离性:

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

本文实例讲述了php+mysqli事务控制实现银行转账的方法.分享给大家供大家参考.具体分析如下: 事务控制,也就是说所有的语句执行成功后,才会提交.否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态.通过银行转账的案例来说明这个应用.一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功. 代码如下: <?php //1.创建数据库连接对象 $mysqli = new MySQLi("localhost","root","1