ajax异步调用php执行插入数据库操作,执行成功后手动删除插入的数据,隔30-1小时后删除的数据又出现了

mysql_query("BEGIN");
mysql_query("SET AUTOCOMMIT=0");
$sql="insert into cate (uid,pid,num,addtime,addhuac,addzs,addtot,adddj) values (".$uid.",".$pid.",".$num.",'".$addtime."','".$addhc."','".$addzs."','".$addtotal."','".$adddj."')";
if(mysql_query($sql))
{
mysql_query("COMMIT");
mysql_query("SET AUTOCOMMIT=1");
mysql_query("END");
$msg=1;
}
数据结构
CREATE TABLE `cate` (
`cid` int(4) NOT NULL auto_increment,
`uid` int(4) NOT NULL,
`pid` int(4) NOT NULL,
`num` int(4) NOT NULL default '1',
`addtime` datetime NOT NULL,
`addhuac` char(20) default NULL,
`addzs` int(4) default '0',
`addtot` float default '0',
`adddj` float default '0',
PRIMARY KEY (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=184 DEFAULT CHARSET=utf8;

第1个回答  2013-06-17
删除后又出现?不太可能吧!是不是删除后又执行了新增操作!查看下你的代码,程序是死的!不会自己跑出来!除非你的代码被中马啦!哈哈!追问

网页上只调用1次,填加完成后关闭浏览器,然后手动去把填加的数据删除,一段时间后还是会出现删除的数据,不知道哪里出错了

追答

把你的代码截图贴出来看看 ajax文件

追问

addcate.php

function_class.php代码在补充里

追答

这个不是ajax文件哦!

追问

这个调用没有问题,填加操作可以执行的,我执行完一次填加操作后即关闭浏览器,删除数据后还是会出现,而且不是立马出现,是隔一段时间才会出现

追答

你那定义的addcate函数是在MyFun类里面吗,定义的那里面只有1参数,调用的时候怎么有那么多参数?

追问

所有页面都可以调用,不同的页面提供的参数不一样,没有赋值的参数均为默认值,addcate是在MyFun类里,

追答

把你的ajax文件贴出来看看!

第2个回答  2013-06-17
出现的数据的cid和之前的一样还是不一样追问

cid不一样,删除是我手动删除的,没有通过程序删除,删除后还是会出现之前删除的数据

追答

你查看一下是不是什么时候又调用了插入数据的动作,cid不一样肯定是又插入了一遍

追问

我调用一次后把浏览器关掉后再删除数据,隔段时间还是会出现

追答

删完数据重新查一遍看看limit 2

追问

删完后重查数据未空

追答

“为空”还是“未空”,数据库有没触发器之类的东西,有没有crontab什么的,还有一种可能就是ajax事件多次触发,排查一下

追问

为空,数据库没有填加触发器之类的,纯粹的填加操作,异步调用的话执行成功一次后,关闭浏览器还会执行吗?

本回答被提问者采纳