TypechoJoeTheme

Dcr163的博客

统计

PHP myqli 事物实例

2016-12-11
/
0 评论
/
712 阅读
/
正在检测是否收录...
12/11

在php中,总会遇到类是银行转账的功能,就是一方必须提交成功,另一方必须接收到,才算是一个正常的流程,否则就不正常了;

下面是PHP中使用mysqli的扩展实例,结果是必须两个sql语句都为真才正常提交,否则就回滚回去,资金不变:

<?php 
header('content-type:text/html;charset=utf-8');
$mysqli=new mysqli('localhost','root','root','test');
$charSet='set names utf8';
$mysqli->query($charSet);


//首先把自动提交事物先关了
$mysqli->autocommit(false);
$moneyBool=$mysqli->query('update money set money = money-50 where id=1');
$userBool=$mysqli->query('update user set money=money+50 where id=1');
if($moneyBool && $userBool){
	//如果两个查询都是正确的,就 提交当前事务 
	$mysqli->commit();
	echo '<双方都完成了转账>';
}else{
	//否则 回滚当前事务 即两条update 都不生效
	$mysqli->rollback();
	echo '<某一方转账的时候出现了错误!!请重试!!>';
}

//最后开启自动提交功能
$mysqli->autocommit(true);



 ?>


朗读
赞(0)
版权属于:

Dcr163的博客

本文链接:

http://dcr163.cn/105.html(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. slot demo
    2025-01-13
  2. 陌天
    2025-01-09
  3. Kerrie Bostick
    2024-12-28
  4. Norma Gainey
    2024-09-21
  5. Amber Powlett
    2024-05-09

标签云