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刷新网页的话提示不变,但是数据库里面的数据就改变了,请问这是怎么回事啊?
展开
1个回答
展开全部
有一种情况会出现半回滚。就是当表的引擎是innoDB的时候,如果不是处于autocommit状态的话,要增加commit才会保存数据,否则都只是一个假象。可以用insert检测。你用任意一个拥有自增字段的表,先在navicat中insert一条数据,然后,在php中insert,exit。然后再navicat中insert一次,观察id有没有跳跃,有就是这种情况
追问
不是这样的啊,从html中用a标签调用php就不行,从浏览器直接输就可以用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询