PHP、Mysql从strotime按月归档

PHP、Mysql从strotime按月归档,php,mysql,date,Php,Mysql,Date,我正在建立一个博客页面。但我开始在档案部分挣扎 我在mysql中有一些带有时间戳的评论,使用: $timestamp = strtotime($month . " " . $date . " " . $year . " " . $time); 现在,如果我有一个链接指向:blog.php?Month=Febuary&Year=2012 如何在sql查询中使用这两个参数来检索该月份和年份的所有记录 谢谢, ben编辑:将其更改为使用UNIX时间戳 不需要strotime()按月份和年份查询。相反

我正在建立一个博客页面。但我开始在档案部分挣扎

我在mysql中有一些带有时间戳的评论,使用:

$timestamp = strtotime($month . " " . $date . " " . $year . " " . $time);
现在,如果我有一个链接指向:
blog.php?Month=Febuary&Year=2012

如何在sql查询中使用这两个参数来检索该月份和年份的所有记录

谢谢,

ben

编辑:将其更改为使用UNIX时间戳

不需要
strotime()
按月份和年份查询。相反,您只需执行以下操作:

SELECT * 
FROM blogtbl
WHERE 
  YEAR(FROM_UNIXTIME(postdate)) = 2012
  AND UPPER(MONTHNAME(FROM_UNIXTIME(postdate))) = 'FEBRUARY'
也可以使用
DATE\u FORMAT()

注意我使用
UPPER()
将查询转换为大写,只是为了更容易传入大小写不可预测的PHP变量


我们假设您已经知道如何通过
$\u GET['month'],$\u GET['year']
从PHP中的查询字符串中检索月份和年份,并正确地将它们转义以插入到查询中。

如何将数据存储在MySQL中?尝试过这一点,但运气不太好,my mysql有一个unix格式的时间戳'1326905520'@BenStringer请参阅上面的更改,使用
FROM_UNIXTIME()
将unix时间戳转换为mysql日期时间。
SELECT * 
FROM blogtbl
WHERE 
  UPPER(DATE_FORMAT(FROM_UNIXTIME(postdate), '%M %Y')) = 'FEBRUARY 2012'