一个用户最多可以得到5份报告,然后我禁止他聊天1天,当这个用户的行达到5份报告时,我会在行上存储一个date
,我可以在1天后用sqldata < DATE_SUB(NOW(), INTERVAL 1 DAY)
解除他的绑定。
但这样,如果他在47:99小时前不登录他们的帐户,他就无法从聊天中“解禁”,因为INTERVAL 1 DAY
将不起作用。那么,我如何生成一个WHERE
子句来匹配至少1天前或>=1天前的行?有可能吗?
$link_id = $_SESSION['linkN'];
$deletReport = $conn->prepare("DELETE FROM `report_public_chat` WHERE `link_id` = :link_id AND `data` < DATE_SUB(NOW(), INTERVAL 1 DAY)");
$deletReport->bindParam(":link_id", $link_id, PDO::PARAM_INT);
$deletReport->execute();
最佳答案
使用删除条件,如
WHERE date >= now() - INTERVAL 1 DAY;
或者
WHERE timediff(now(), my_datetime_field) < '24:00:00'