在我的Mysql数据库中,我有一个名为“time”的字段,其中包含mysql
时间戳(Y-m-d H:i:m)
。
现在,我想检查我的表中是否有值,这是从今天开始的。
时间无关紧要。
我的查询到现在为止:
$date = date("Y-m-d");
$select = mysqli_query($sql, "SELECT id FROM table WHERE time => '".$date."' LIMIT 1");
答案 0 :(得分:3)
您可以使用mysql函数DATE()来仅比较日期。
$select = mysqli_query($sql, "SELECT id FROM table WHERE DATE(time) >= '".$date."' LIMIT 1");
这对我有用。
答案 1 :(得分:2)
最好将日期格式的两个项目转换为比较日期而不是字符串:
$date = date("Y-m-d");
$select = mysqli_query($sql, "SELECT id FROM table WHERE DATE(time) => DATE('".$date."') LIMIT 1");
另外,请考虑使用bind_param,尽管这不是SQL注入的情况。
答案 2 :(得分:1)
Date()
提取日期或日期时间表达式的日期部分' timestampfield'。
语法:
DATE(timestampfield)
请尝试使用以下查询:
$select = mysqli_query($sql, "SELECT id FROM table WHERE DATE(time) = '$date' LIMIT 1");
答案 3 :(得分:1)
尝试DATE()并且您使用比较运算符时使用>=
代替=>
$select = mysqli_query($sql, "SELECT id FROM table WHERE DATE(time) >= '$date' LIMIT 1");
答案 4 :(得分:1)
这会对你有帮助。
$select = mysqli_query($sql, "SELECT id FROM table WHERE DATE(time) >= '".$date."' LIMIT 1");
答案 5 :(得分:0)
你可以使用:
$date = date("Y-m-d");
$select = mysqli_query($sql, "SELECT id FROM table WHERE DATE(time) ='".$date."' LIMIT 1");
不需要小于或大于因为他只在寻找当前日期。