切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
php防止错误代码编写[复制链接]
发表于 2014-9-10 23:57:37 | 显示全部楼层 |!read_mode!
php如何防止多个用户同时一个操作数据,而导致错误?比如:同时执行一个查询,代码应该怎么写才能防范?有类似于进程锁的东西?

发表于 2014-9-11 10:19:36 | 显示全部楼层
mysql不会有这个问题的 mysql本身就是单进程而且有锁机制,也就是说你要清晰的认识到就算是同时(精确到同一时间戳)执行一个查询,也是先执行A再执行了B;而不是AB并发执行;

一般高并发取决与你的php是怎么执行的;如果A执行了就马上更新一下状态标志字段,下一次就跳过执行过的这条数据,比如:

select   id from 文章标题表  status=0 ORDER BY time limit 1;
update 文章标题表  status=1 WHERE id='$id';
select   id from 文章标题表  status=0 ORDER BY time limit 1;

具体要看你的并发逻辑,基本上根据以上逻辑原型再优化和完善下是可以避免数据操作混乱的;
发表于 2014-9-11 21:07:26 | 显示全部楼层
店小二01 发表于 2014-9-11 10:19
mysql不会有这个问题的 mysql本身就是单进程而且有锁机制,也就是说你要清晰的认识到就算是同时(精确到同一 ...

非常 感谢!很详细

代码区

GMT+8, 2019-9-24 01:56

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部