• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于MYSQL事宜的疑问

php 搞代码 3年前 (2022-01-24) 20次浏览 已收录 0个评论

关于MYSQL事务的疑问

	mysql_query("BEGIN"); <br />	<br />	$result=mysql_query("UPDATE vip set time='".$intime."'"."  where user='".$uid."' and ". "setype='".$usetype."'");<br />	if (!$result)<br />   {<br />	echo "///0///";<br />	mysql_query("ROLLBACK"); <br />	return;<br />   }<br /><br />$result=mysql_query("UPDATE addcard set time=curdate()".<div style="color:transparent">本&文来源gaodai^.ma#com搞#代!码网</div><strong>搞gaodaima代码</strong>",userw='".$uid."',sev='".$usetype."'  where card='".$card."'");<br />	if (!$result)<br />   	{<br />		echo "///0///";<br />		mysql_query("ROLLBACK"); <br />		return;<br />   	}<br />	mysql_query("ROLLBACK");

刚学PHP,上面的代码执行后,按照个人的理解,应该两条两条语句都没能修改数据库,但是执行后去查看数据库,发现第一条确实没修改数据库,但是第二条语句去真实修改了,不知是不是我的代码有问题,如果是的话,希望高手们说下,代码应该怎样修改,才能让两条语句保持一致性,即要么都修改数据,要么都不修改
——解决方案——————–
mysql_query(“SET AUTOCOMMIT=0”); 先設置不自動commit

然後在成功的位置,加入 mysql_query(“COMMIT”);

<br />    mysql_query("BEGIN");?<br />    mysql_query("SET AUTOCOMMIT=0"); ?<br />?<br />    $result=mysql_query("UPDATE?vip?set?time='".$intime."'"."??where?user='".$uid."'?and?".?"setype='".$usetype."'");<br />    if?(!$result){<br />????    echo?"///0///";<br />????    mysql_query("ROLLBACK");?<br />????    return;<br />??? }<br />?<br />    $result=mysql_query("UPDATE?addcard?set?time=curdate()".",userw='".$uid."',sev='".$usetype."'??where?card='".$card."'");<br />    if (!$result){<br />        echo?"///0///";<br />        mysql_query("ROLLBACK");?<br />        return;<br />????}<br />    mysql_query("COMMIT");<br /><br />

——解决方案——————–
长连接也是一样的


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于MYSQL事宜的疑问
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址