我想自动执行以下PHP脚本,以便在3天后自动删除表中的行。但是,即使查询已经产生正确的结果,脚本似乎也不起作用。我试图手动运行它,它也有效。我不确定我是否正确编写了脚本,但这是代码:
<?php
require_once('../../resources/db_connect.php');
$query = "DELETE FROM user_orders WHERE date_order < DATE_SUB(CURDATE(), INTERVAL 3 DAY) AND ID_status_order = 1";
$result = @mysql_query($query);
?>
我在Windows上使用xampp。我试图通过Windows任务计划程序执行它,但我认为它不起作用。还有其他想法吗?
干杯
答案 0 :(得分:0)
Hidding错误不够好。请先删除@并查看您遇到的错误。回来给出错误。
答案 1 :(得分:0)
echo mysql_query($query) or mysql_error()
答案 2 :(得分:0)
您没有进行任何错误检查,并且命令前面的@甚至可以主动抑制错误。使用它来检查查询或数据库连接的错误:
mysql_query($query) or die(mysql_error());
如果要检查查询但不希望删除所有内容,请为其添加其他条件:
... AND 1=0
始终为false,因此不会删除任何内容。 MySQL仍将检查您的查询并为您提供错误,例如某些领域或表格未知。