在mysql查询中转换Unix时间戳和排序数据

时间:2014-05-14 07:05:37

标签: php mysql

我正在尝试按日期查询小型数据库,我的日期表数据存储在时间2014-02-04。我怎样才能转换它并在今天的日期检查它。

这就是我所拥有的,但我收到了一些错误

$q = 'SELECT count(*) as count FROM SHOW WHERE date('Y-m-d', strtotime  
('SHOW_DATE') ='.$db->qstr(date()).' AND CONTACT='.$db->qstr($name);
if(!$rs = $db->execute($q)){
force_page('core', 'error&error_msg=MySQL Error: '.$db->ErrorMsg().'&menu=1');
exit;
} else {
$today_count = $rs->fields['count'];
$smarty->assign('today_count',$today_count);
}

非常感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用show_date功能将FROM_UNIXTIME转换为日期格式。然后将其date部分与输入日期值进行比较。

示例

SELECT count(*) as count FROM `SHOW`
 WHERE date( from_unixtime( `SHOW_DATE` ) ) = ? AND CONTACT=?

使用预准备语句将输入值绑定到占位符。

答案 1 :(得分:0)

要查找包含与当前日期匹配的DATE的行,请使用CURDATE()

SELECT column FROM table WHERE col_date = CURDATE()