PHP执行Insert,产生2条重复记录 如题。在页面中有多条sql语句,插入订单表没有重复记录,但是插入到记录表里就时不时的产生重复记录。有高手指点吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $sqlstr3 = "update `online_members` set `online_members_golds` = ".$sum." where online_members_name = '".$attach."'"; //充值给玩家 $sqlstr6 = "update `online_adminstrator_sub` set `online_adminstrator_sub_money` = `online_adminstrator_sub_money`-$amount where `online_adminstrator_sub_name` = 'tg'";//冲管理员账号减掉会员充值的分 $sqlstr4 = "INSERT INTO online_order (online_order_number ,online_order_data) VALUES ( '".$billno."', '".$time."')";//把订单号放入订单表$sqlstr5 = "INSERT INTO `online_saving_record` (`online_saving_record_name`,`online_saving_record_money`, `online_saving_record_golds`,`online_saving_record_time`,`into_member`) values('$attach',$money,$amount,'$time','$arr1[into_member]')";//把记录写入充值记录表$result3=mysql_query($sqlstr3,$link); $result4=mysql_query($sqlstr4,$link);//执行sql语句 $result5=mysql_query($sqlstr5,$link); $result6=mysql_query($sqlstr6,$link); if($result3 and $result4 and $result5 and $result6){//如果成功则返回页面?><table width="322" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td width="93" rowspan="3"><img src="../image/czw.jpg" width="93" height="101"></td><td width="227" height="30"><span class="l">恭喜您充值成功!<<a href="../">返回首页</a>></span></td></tr><tr><td height="30"><span class="sp">充值帐号:<?php echo $attach;?></span></td></tr><tr><td height="30"><span class="sp">充值:<?php echo $money;?> 元 获得:<?php echo $amount;?> 游戏币</span></td></tr></table><?php}?> 不是 因为这是第三方提供的接口 调试的话我只能是到服务器上调试的 而且调试的浏览器一般都是360或firefox 给表单加上ticket,借助SESSION防重复提交吧,能好点. 我看到的只有$sqlstr5 = "INSERT INTO `online_saving_record`(`online_saving_record_name`,`online_saving_record_money`,`online_saving_record_golds`,`online_saving_record_time`,`into_member`) values('$attach',$money,$amount,'$time','$arr1[into_member]')";//把记录写入充值记录表能影响记录表,你贴出来的其他代码好像对问题没什么影响,因为你都是讲变量分别放入这2个表的,现在问题是如果订单表没有重复记录,肯定是没有重复提交表单,只有sql5给重复执行了 检查下你代码块中的IF语句 和‘}’,看有没有问题,不过就你提交的代码而言,真搞不懂哪出问题了 php代码修改向高手求助 控制显示字体及符合颜色。 【PHP读书推荐】 中文utf8字符串,分割成单个字符构成的数组 如何在表格的同一行里显示4张图片?急..... 有谁做个在线虚拟银行系统? 关于目录树 编译论坛界面的程序时,很怪的错误~~? 高手来帮忙,多谢! 如何判断mail()是否发送成功? 请教 寻找PHP采集大量网页高效可行的方法 在网页中插入FLV格式的视频没整合后台时能播放,整合后台后在php环境下就不能播放 谁知道百度贴吧是用哪种语言的脚本?
where online_members_name = '".$attach."'"; //充值给玩家
$sqlstr6 = "update `online_adminstrator_sub` set `online_adminstrator_sub_money` =
`online_adminstrator_sub_money`-$amount where `online_adminstrator_sub_name` = 'tg'";//冲管理员账号减掉会员充值的分
$sqlstr4 = "INSERT INTO online_order (online_order_number ,online_order_data) VALUES
( '".$billno."', '".$time."')";//把订单号放入订单表
$sqlstr5 = "INSERT INTO `online_saving_record`
(`online_saving_record_name`,`online_saving_record_money`,
`online_saving_record_golds`,`online_saving_record_time`,`into_member`)
values('$attach',$money,$amount,'$time','$arr1[into_member]')";//把记录写入充值记录表
$result3=mysql_query($sqlstr3,$link);
$result4=mysql_query($sqlstr4,$link);//执行sql语句
$result5=mysql_query($sqlstr5,$link);
$result6=mysql_query($sqlstr6,$link);
if($result3 and $result4 and $result5 and $result6){
//如果成功则返回页面
?>
<table width="322" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="93" rowspan="3"><img src="../image/czw.jpg" width="93" height="101"></td>
<td width="227" height="30"><span class="l">恭喜您充值成功!<<a href="../">返回首页</a>></span></td>
</tr>
<tr>
<td height="30"><span class="sp">充值帐号:<?php echo $attach;?></span></td>
</tr>
<tr>
<td height="30"><span class="sp">充值:<?php echo $money;?> 元 获得:<?php echo $amount;?> 游戏币</span></td>
</tr>
</table>
<?php
}
?>
$sqlstr5 = "INSERT INTO `online_saving_record`
(`online_saving_record_name`,`online_saving_record_money`,
`online_saving_record_golds`,`online_saving_record_time`,`into_member`)
values('$attach',$money,$amount,'$time','$arr1[into_member]')";//把记录写入充值记录表
能影响记录表,你贴出来的其他代码好像对问题没什么影响,因为你都是讲变量分别放入这2个表的,现在问题是如果订单表没有重复记录,肯定是没有重复提交表单,只有sql5给重复执行了 检查下你代码块中的IF语句 和‘}’,看有没有问题,不过就你提交的代码而言,真搞不懂哪出问题了