• <?php
  • header("Content-Type:text/html;charset=utf-8");
  • $mysqli=new mysqli("localhost","root","","test");
  • if(mysqli_connect_errno())
  • {
  • printf("连接失败:%s<br>",mysqli_connect_error());
  • exit();
  • }
  • $success=TRUE;
  • $price=8000;
  • $result=$mysqli->query("select cash from account where name='userA'");
  • while($row=$result->fetch_assoc())
  • {
  • $value=$row["cash"];
  • echo $value;
  • }
  • $mysqli->autocommit(0);
  • if($value>=$price){
  • $result=$mysqli->query("UPDATE account set cash=cash-$price where name='userA'");
  • }else {
  • echo '余额不足';
  • exit();
  • }
  • if(!$result or $mysqli->affected_rows!=1)
  • {
  • $success=FALSE;
  • }
  • $result=$mysqli->query("UPDATE account set cash=cash+$price where name='userB'");
  • if(!result or $mysqli->affected_rows!=1){
  • $success=FALSE;
  • }
  • if($success)
  • {
  • $mysqli->commit();
  • echo '转账成功!';
  • }else
  • {
  • $mysqli->rollback();
  • echo "转账失败!";
  • }
  • $mysqli->autocommit(1);
  • $query="select cash from account where name=?";
  • $stmt=$mysqli->prepare($query);
  • $stmt->bind_param('s',$name);
  • $name='userA';
  • $stmt->execute();
  • $stmt->store_result();
  • $stmt->bind_result($cash);
  • while($stmt->fetch())
  • echo "用户userA的值为:".$cash;
  • $mysqli->close();
  • ?>
  • 数据库SQL语句如下:
  • create table account{
  • userID smallint unsigned not null auto_increment,
  • name varchar(45) not null,
  • cash decimal(9,2) not null,
  • primary key(userID)
  • )type=InnoDB;
  • insert into account(name,cash) values ('userA','2000');
  • insert into account(name,cash) values ('userB','10000');

最新文章

  1. [转]为什么我要用 Node.js? 案例逐一介绍
  2. 驱动中获取PsActiveProcessHead变量地址的五种方法也可以获取KdpDebuggerDataListHead
  3. LVS DR脚本 解析
  4. SQL Server 性能优化之——T-SQL NOT IN 和 NOT Exists
  5. Java基础(61):Java单步调试(转)
  6. hbase的regionserver宕机
  7. web rest api tools
  8. 网页js生成当前年月日 星期
  9. Reactor模式(反应器模式)
  10. ERP售前顾问形象寓意
  11. 什么是Elasticsearch
  12. jquery分页插件的修改
  13. Java的构造器
  14. 大数据技术Hadoop笔试题
  15. 在Eclipse下搭建Hibernate框架(加载hibernate工具插件,离线)
  16. Mac iterm2 创建服务器列表
  17. 【数据库-MySql】清空所有表格的所有数据
  18. 《FPGA全程进阶---实战演练》第二章之焊接板子及调试注意事项
  19. win2008 服务器文件夹权限配置
  20. centos7 firewall指定IP与端口访问(常用)

热门文章

  1. Ceph: A Scalable, High-Performance Distributed File System译文
  2. JavaScript深入之call和apply的模拟实现
  3. hibernate的集合映射(详细笔记)
  4. Lucky Coins Sequence
  5. IE下 GIF不动失效的奇葩问题
  6. JavaScript核心参考
  7. Windows常用shell命令大全
  8. [转载] Bitmap的秘密
  9. oracle一些基本命令
  10. Mybatis查询时报 Bad format for Time &#39;454:54:54&#39; in column 6 异常