Php 如果选定的时间已过,则删除mysql数据库中的行

Php 如果选定的时间已过,则删除mysql数据库中的行,php,mysql,Php,Mysql,我想在经过一段时间后从数据库中删除行,我的代码不起作用,我不确定哪里出了问题。我计划将时间改为1个月,但目前用于测试的时间为1分钟 require 'core/init.php'; $remOld = "DELETE * FROM `ratings` WHERE `ratedate` < NOW() - INTERVAL 1 MINUTE"; if ($remOld = $db->query($remOld)){ echo ('records removed'); }el

我想在经过一段时间后从数据库中删除行,我的代码不起作用,我不确定哪里出了问题。我计划将时间改为1个月,但目前用于测试的时间为1分钟

require 'core/init.php';

$remOld = "DELETE * FROM `ratings` WHERE `ratedate` < NOW() - INTERVAL 1 MINUTE";

if ($remOld = $db->query($remOld)){
    echo ('records removed');
}else{
    echo ('didnt remove records');
}
需要'core/init.php';
$remOld=“从'ratings'中删除*,其中'ratedate`query($remOld)){
echo(“删除记录”);
}否则{
echo(“未删除记录”);
}
任何提示都将不胜感激。

像这样尝试

$remOld = "DELETE FROM `ratings` WHERE `ratedate` < NOW() - INTERVAL '1 MINUTE'";

if ($remOld = $db->query($remOld)){
    echo ('records removed');
}else{
    echo ('didnt remove records');
}
$remOld=“从'ratings'中删除,其中'ratedate`query($remOld)){
echo(“删除记录”);
}否则{
echo(“未删除记录”);
}

从查询中删除
*
,并关闭查询中的开放括号

     DELETE  FROM `ratings` WHERE `ratedate` < (NOW() - INTERVAL 1 MINUTE)
从'ratings'中删除,其中'ratedate'<(现在()-间隔1分钟)

删除
之前的
现在()
。我删除了,但它没有删除适用的行?谢谢!!成功了,我想知道为什么现在不需要*for all?检查mysql delete的正确用法,这会有所帮助you@Parody因为*仅在select命令(以及其他一些命令)中需要,当您要选择所有行时。@Parody,使用delete,我们正在从表中删除行,在*或任何字段集中都没有角色。@shin再次感谢,我会检查出来的。非常感谢。