类似新手卡发放怎么防止重复 需求防止重复 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.如果随机发放的话在卡后面再加一个字段,默认标1,领取后标02.好的方法在设计的时候加入步长为1的自动增长字段ID,增加一个TMP字段默认为0每次有人领取后TMP加1,当ID=TMP时领取完毕 这个问题是关于并发的问题,解决办法是加锁,sql加一个行级锁就行了。以前我也做过类似的,这个必须加锁,可以在数据库里加锁,可以在代码中对那函数加锁, 你可以去查一下类似数据库加锁的资料。 用一个字段记录卡是否已被使用,然后利用mysql 的update 锁表来解决并发问题。例如表结构为id cardno cardpass used$sqlstr = "update table set used=1 where used=0 and cardno=xxxx";mysql_query($sqlstr);$affected_rows = mysql_affected_rows();if($affected_rows==1){ // 表示修改成功 // 执行使用成功处理}else{ // 执行卡已被使用处理} 大家来提供一个思路 求助多维数据库建模 php 发手机短信 运行php程序提示“HTTP 401.5 - 未经授权:ISAPI/CGI 应用程序授权失败。” phpmyadmin登录不显示主界面 为何我的session不能用呢?我用的是IIS5+MYSQL4.0+PHP4.2.3 我载网上升级了linux,包括apache,php,mysql,现在php不能解析,只能是静态的,急! 在asp 中取当时间为now 或者 time 再或者为 date 在php中用什么呢? php修改单条数据,结果全部数据都被修改了 js wap php语法 防灌水该如何限制?
2.好的方法在设计的时候加入步长为1的自动增长字段ID,增加一个TMP字段默认为0
每次有人领取后TMP加1,当ID=TMP时领取完毕
id cardno cardpass used$sqlstr = "update table set used=1 where used=0 and cardno=xxxx";
mysql_query($sqlstr);
$affected_rows = mysql_affected_rows();
if($affected_rows==1){ // 表示修改成功
// 执行使用成功处理
}else{
// 执行卡已被使用处理
}