Php 使用MySQL DELETE子句
我有一个delete子句,用于从“viewed”列datetime值早于24小时的数据库中删除行。除了查看列的默认值为0000-00-00:00:00之外,我的代码工作得很好。在这种情况下,具有默认值的每一行数据也会被删除。如何更改查询以避免发生这种情况 我的代码:Php 使用MySQL DELETE子句,php,mysql,sql,Php,Mysql,Sql,我有一个delete子句,用于从“viewed”列datetime值早于24小时的数据库中删除行。除了查看列的默认值为0000-00-00:00:00之外,我的代码工作得很好。在这种情况下,具有默认值的每一行数据也会被删除。如何更改查询以避免发生这种情况 我的代码: $delete_expired_notifications_query= "DELETE FROM notifications WHERE user_id= '".$u_id."' AND viewed < NOW() -
$delete_expired_notifications_query= "DELETE FROM notifications WHERE user_id= '".$u_id."'
AND viewed < NOW() - INTERVAL 24 HOUR";
$delete\u expired\u notifications\u query=“从用户\u id=”的通知中删除“$u\u id.”
并查看
谢谢明确排除:
$delete_expired_notifications_query= "DELETE FROM notifications WHERE user_id= '".$u_id."'
AND viewed < NOW() - INTERVAL 24 HOUR" AND viewed != '0000-00-00 00:00:00';
$delete\u expired\u notifications\u query=“从用户\u id=”的通知中删除“$u\u id.”
并查看
只需添加另一个条件,使用=代码>
DELETE
FROM notifications
WHERE user_id= '".$u_id."'
AND viewed < NOW() - INTERVAL 24 HOUR
AND viewed != '0000-00-00 00:00:00'
删除
来自通知
其中user_id='“$u_id.”
并查看
作为旁注,如果值来自外部,则使用SQL注入
时查询易受攻击。请看下面的文章,了解如何预防它。通过使用PreparedStatements,可以避免在值周围使用单引号