使用php和mysql检索当前月、周和日内的行

使用php和mysql检索当前月、周和日内的行,php,mysql,Php,Mysql,我有一个mysql表events,其中包含列event\u date varchar(10),它以7-5-2014的形式接收日期 我有一件物品可以给我: // displays current month (5) $m = $time->getMonth(); echo $m; //displays current day (1) $d = $time->getDay(); echo $d; // displays current year (2014) $y = $time-&

我有一个mysql表events,其中包含列
event\u date varchar(10)
,它以
7-5-2014
的形式接收日期

我有一件物品可以给我:

// displays current month (5)
$m = $time->getMonth();
echo $m;

//displays current day (1)
$d = $time->getDay();
echo $d;

// displays current year (2014)
$y = $time->getYear();
echo $y; 
我正试图找出一种方法来获取当前日期、月份和年份内的事件

下面的php查询是错误的,但它为您提供了有关我试图做什么的信息和想法:

$eventsWithinDay = query("SELECT * FROM events WHERE LEFT(event_date, 2)='%s'", $d);
如何才能正确地执行此操作? 更好的是,什么是最有效的方法

我可以对数据库或php进行任何必要的更改


提前谢谢。

你可以用各种方式来做。例如:

SELECT smth FROM somewhere WHERE datefield LIKE '2014-05-%'


您也可以使用MYSQL的内置日期时间函数,但我没有使用这些函数的经验,因此我不打算就一些我自己不了解的问题提供建议:)

也许您可以使用MYSQL函数“unix\u timestamp”并进行比较。
SELECT smth FROM somewhere WHERE datefield >= $start_interval and date <= $end_interval
$q = "SELECT ... WHERE datefield >= " . strtotime('-2 days') // this would search for dates from at least 2 days ago