在if(money >= 100)之后的瞬间,
money被其它线程更新至小于100,
而此时,update bank set money-100 where mid=1 仍被执行,
所以会出现money字段成负数现象。解决方法有2:
1.让数据库支持事务处理
2.更新数据处理全部封装,实现单线程处理(这种实现用PHP不好弄)
money被其它线程更新至小于100,
而此时,update bank set money-100 where mid=1 仍被执行,
所以会出现money字段成负数现象。解决方法有2:
1.让数据库支持事务处理
2.更新数据处理全部封装,实现单线程处理(这种实现用PHP不好弄)
这样看看。
update bank set money-100 where mid=1 and monery >= 100
看程序流程,应该不会是被攻击了,看看是不是逻辑那里出问题了。
这东西就怕有意为之,销售类的网站还是用JSP吧,数据库封装方便些,也安全些