比较Codeigniter和MySQL中的两个日期

ido*_*how 2 mysql codeigniter codeigniter-2 codeigniter-datamapper

如何在Codeigniter查询功能中获取两个日期之间的值?这是我的模型和示例代码.

function get_promo() {
    $today = date('Y-m-d');
    $query = $this->db->query('SELECT FROM tbl_event WHERE event_id = $id AND event_startdate <= $today
    AND event_enddate >= $today');
    return $query;
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用,这是我得到的错误

A Database Error Occurred

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM tbl_event WHERE event_id = 36 AND event_startdate <= 2011-06-09 ' at line 1

SELECT FROM tbl_event WHERE event_id = 36 AND event_startdate <= 2011-06-09 AND event_enddate >= 2011-06-09

Filename: C:\xampp\htdocs\hotel\system\database\DB_driver.php

Line Number: 330
Run Code Online (Sandbox Code Playgroud)

dan*_*eth 7

我认为你需要在约会时间(即'2011-06-08').试试这个

function get_promo() {
    $today = date('Y-m-d');  
    $query = $this->db->query(
        "SELECT FROM tbl_event WHERE event_id = {$id} AND event_startdate <= '{$today}'
        AND event_enddate >= '{$today}'");
    return $query;
}
Run Code Online (Sandbox Code Playgroud)

如果你的列event_startdateevent_enddateDATETIME型,但你只有感兴趣的日期部分,你可以做`DATE(event_enddate)提取日期部分