Rumah > pembangunan bahagian belakang > tutorial php > 一个功能在执行过程中某些语句偶发性不执行

一个功能在执行过程中某些语句偶发性不执行

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 13:25:04
asal
1069 orang telah melayarinya

做了一个功能, 有一个表单,用户输入手机号 和 金额 提交到后台经过一系列处理,如果处理成功,会向数据库写入一条记录,该记录中有一个字段为result   如果result=100    则写了sql语句更新3个表的3个状态,有个问题是有时候即使result=100  后续的sql语句好像没有执行状态也没有更新, 这个表单存在很多用户一起提交的并发情况,感觉原因不在并发上,请教一下大家有可能是什么原因


回复讨论(解决方案)

显然你没有弄好容错机制
你应在所有可能失败的操作后检查是否有错,并决定程序的走向
如果确系并发数过高造成的,应考虑使用事务

使用事务吧,这样可以保证每一步都能成功执行。只要有一步不成功就回滚。

谢谢大家的热心回答, 但是目前所有的表类型是myisam, 不支持事务,但是如果改了表类型,会造成某些搜索非常缓慢,导致查询数据超时

是的,使用事务会使查询变慢,非必要不使用
无论是否使用事务,判错总是必须的

谢谢大家的热心回答

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan