为了账号安全,请及时绑定邮箱和手机立即绑定

哪里错了呢,为什么转账失败QUEEN还是加两百

<?php
error_reporting(E_ALL^E_NOTICE);
header('content-type:text/html;charset=utf-8');
$mysqli=new mysqli('localhost', 'root', 'root', 'info');
if($mysqli->connect_errno){
	die($mysqli->connect_error);
}
$mysqli->set_charset('utf8');
$mysqli->autocommit(FALSE);//关闭自动提交

$sql="UPDATE1 account SET money=money-200 WHERE username='king';";
$res=$mysqli->query($sql);
$res_affect=$mysqli->affected_rows;

$sql1='UPDATE account SET money=money+200 WHERE username="queen";';
$res1=$mysqli->query($sql1);
$res1_affect=$mysqli->affected_rows;

if($res && $res_affect>0 && $res1 && $res1_affect>0){
	$mysqli->commit();
	echo '转账成功<br/>';
	$mysqli->autocommit(TRUE);
}else{
	$mysqli->rollback();
	echo '转账失败<br/>';
}
$mysqli->close();


正在回答

2 回答

事务只有INNODB引擎支持,你看看你的引擎

^-^...

0 回复 有任何疑惑可以回复我~

commit 跟服务器有关吗 我是用PHPstudy的

0 回复 有任何疑惑可以回复我~
#1

张的高

修改数据库的默认引擎:default-storage-engine=INNODB 或者建表的时候 CREATE TABLE tablename (id,username,money) ENGINE = INNODB 这样就可以实现事物处理了 当然事物是否处理与服务器无关
2015-08-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

哪里错了呢,为什么转账失败QUEEN还是加两百

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信