如何使用php中的cron job自动删除mysql行?

3

我需要每天删除超过24小时的行,但仍然无法正常工作,我的代码是否有错误。 cron命令:

/usr/bin/php -q/home/mywebsite/public_html/folder/deleteafter24hours.php >/dev/null 2>&1

PHP 代码:

$DeleteQuery = mysql_query('DELETE FROM `table` WHERE `DatePOST` < (NOW() - INTERVAL 1 DAY)');

1
你的代码在使用那个查询之前需要连接到数据库或其他什么东西吗? - genisage
抱歉写错了,是的它连接到数据库了 @genisage - Ahmad
1
你在MySQL控制台中尝试过这个查询吗?如果在那里可以工作,那么问题显然不是SQL而是PHP,或者cron用户的权限等。 - developerwjk
在这段代码中没有权限连接到mysql数据库...在控制台上运行并查看结果。 - abkrim
@Ahmad,你的deleteafter24hours.php文件在哪里? - Adrian Cid Almaguer
1个回答

0

在你的 .sh 文件中尝试使用这个:

#!/bin/sh
 php /home/mywebsite/public_html/folder/deleteafter24hours.php

我猜你的脚本在 /home/mywebsite/public_html/folder/ 目录下

然后从 shell 中运行你的脚本


@Ahmad 我编辑了我的答案,在你的.sh文件的第一行添加了这个:#!/bin/sh,并且用你的.sh文件内容编辑了你的问题。 - Adrian Cid Almaguer
@Ahmad你有一些进展了吗? - Adrian Cid Almaguer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接