我正在尝试从指定日期选择一条记录
$yesterday = date('Y-m-d',strtotime("-1 days"));
$this->db->get_where('tablename', array('postid' => $dailystat['postid'], 'timestamp >=' => $yesterday));
但即使表格中有条目,我也没有得到任何记录。我还想确保查询选择在指定日期创建的唯一记录。
任何帮助将不胜感激..
答案 0 :(得分:0)
$yesterday = date('Y-m-d',strtotime("-1 days"));
$this->db->get_where('tablename', array('postid' => $dailystat['postid'], 'timestamp >=' => $yesterday, 'timestamp <' => date('Y-m-d')));
答案 1 :(得分:0)
如果您共享表架构和示例数据,我可以给您正确的答案。我仍然可以猜测你正在使用时间戳来比较日期字符串。
代码$yesterday = date('Y-m-d',strtotime("-1 days"));
会将$yesterday
值返回为'2017-04-10'
。但实际上在您的数据库中,您可以使用timestamp字段进行比较,该字段将时间戳保存为数值。
您可以使用php strtotime函数将任何日期转换为相应的时间戳。 strtotime($yesterday).
正确的代码将是:
$yesterday = date('Y-m-d',strtotime("-1 days"));
$this->db->get_where('tablename', array('postid' => $dailystat['postid'], 'timestamp >=' => strtotime($yesterday)));
请再次确认,您的数据库字段时间戳仅以时间戳的形式存储日期。
另一种解决方案是,您可以使用mysql日期比较功能。