php中执行update语句的问题

今天遇到问题向高手请教一下。update`zh_goods`set`status`=`status`^1whereid=45这条语句在navicat中可以正确执行,但是在... 今天遇到问题向高手请教一下。update `zh_goods` set `status` = `status`^1 where id = 45这条语句在navicat中可以正确执行,但是在php中执行后用exit(mysql_info)返回Rows matched: 1 Changed: 1 Warnings: 0,但是数据库中的数据没有改变,因为用了exit浏览器停在那里,这时候按f5刷新网页的话提示不变,但是数据库里面的数据就改变了,请问这是怎么回事啊? 展开
 我来答
awl805
推荐于2016-03-29 · TA获得超过392个赞
知道小有建树答主
回答量:302
采纳率:100%
帮助的人:316万
展开全部
有一种情况会出现半回滚。就是当表的引擎是innoDB的时候,如果不是处于autocommit状态的话,要增加commit才会保存数据,否则都只是一个假象。可以用insert检测。你用任意一个拥有自增字段的表,先在navicat中insert一条数据,然后,在php中insert,exit。然后再navicat中insert一次,观察id有没有跳跃,有就是这种情况
追问
不是这样的啊,从html中用a标签调用php就不行,从浏览器直接输就可以用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式