我需要提取今天,月份和年份的数据,但我在表格中的时间是时间戳。
这是我一直在尝试但它不起作用
$today = date('m-j-Y');
$result99 = mysqli_query($res, "SELECT * FROM send_data WHERE sponsor='$login' AND checked='1' AND done='1' AND DATE(m-j-Y, post_time) = '$today' ORDER BY id DESC");
post_time是表格中的字段名称。我也试过一个小写的日期,它也没有用。
请帮助解决这个问题。我试图在Stack Overflow中找到,但我要么没有正确搜索,要么就不在这里。
答案 0 :(得分:1)
首先,在查询中使用参数。但是,除此之外,只需使用内置的日期/时间功能:
SELECT *
FROM send_data
WHERE sponsor='$login' AND checked='1' AND done='1' AND
date(post_time) = curdate()
ORDER BY id DESC;
如果post_time
是Unix时间戳,那么您可以使用from_unixtime()
:
SELECT *
FROM send_data
WHERE sponsor='$login' AND checked='1' AND done='1' AND
date(from_unixtime(post_time)) = curdate()
ORDER BY id DESC;
注意:如果性能存在问题并且您有适当的索引,则有更好的方法来制定这些查询。
年和月的最简单方法可能是使用format()
。例如:
format(date(from_unixtime(post_time)), '%Y-%m') = format(curdate(), '%Y-%m')