php删除mysql 数据库里时间超过1小时的记录
include'dll.php';$xzsj=time();$sql1="INSERTINTO`chuangshi`.`ggxx`(`id`,`name`,`neiron...
include 'dll.php';
$xzsj=time();
$sql1="INSERT INTO `chuangshi`.`ggxx` (`id`,`name`,`neirong` ,`time`)VALUES (NULL,'as1992tt','我是一只小小鸟','$xzsj')";
mysql_query($sql1);//向数据库插入玩家要说的话
$sql="select * from ggxx";
$res=mysql_query($sql);
$row=mysql_fetch_assoc($res);
$id2=$row['id']-5;//这里是前面每次都检测到刚插入的数据,刚插入不会大于30秒,就不执行下面的,所以就让id-5,得出前面的id
echo $id2;//这里得出刚插入ID的前面第五条数据
if (($xzsj - $row['time'])>30) {//大于24小时
$sql="delete from ggxx where id=$id2";//delete from table1 where endTime <now();
mysql_query($sql); //前面得出了刚插入记录ID的前面第五条记录ID,但它这里就是不执行,也就是没有删除记录
}
求知道的大大指点下,帮我改下代码
还有,如果能得出这个表里所有时间大于现在时间30秒的数据,再一次删除就最好了
谢谢了 展开
$xzsj=time();
$sql1="INSERT INTO `chuangshi`.`ggxx` (`id`,`name`,`neirong` ,`time`)VALUES (NULL,'as1992tt','我是一只小小鸟','$xzsj')";
mysql_query($sql1);//向数据库插入玩家要说的话
$sql="select * from ggxx";
$res=mysql_query($sql);
$row=mysql_fetch_assoc($res);
$id2=$row['id']-5;//这里是前面每次都检测到刚插入的数据,刚插入不会大于30秒,就不执行下面的,所以就让id-5,得出前面的id
echo $id2;//这里得出刚插入ID的前面第五条数据
if (($xzsj - $row['time'])>30) {//大于24小时
$sql="delete from ggxx where id=$id2";//delete from table1 where endTime <now();
mysql_query($sql); //前面得出了刚插入记录ID的前面第五条记录ID,但它这里就是不执行,也就是没有删除记录
}
求知道的大大指点下,帮我改下代码
还有,如果能得出这个表里所有时间大于现在时间30秒的数据,再一次删除就最好了
谢谢了 展开
2个回答
展开全部
当前的时间减去30秒得出一个时间,然后在数据库中小于这个时间的全部删除就可以了,也就是说一条sql就搞定了,何必这样麻烦
追问
像你说得那样做了,用了while循环取出了所有符合条件的,但我把符合条件的代入mysql命令中去却执行不了,你能不能说得详细些
追答
楼下的这位大侠说的很对啊,用它那条sql执行一把,就可以了全部删除了,不用while把它全部取出来之后再删除。那样是没有意义的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询