【问题标题】:codeigniter mysql query equal date but can't display the resultcodeigniter mysql查询相等日期但无法显示结果
【发布时间】:2016-10-21 02:59:04
【问题描述】:

我有这些活动记录( [date(orderDate)] => 2016-10-21 [CURDATE()] => 2016-10-21 )

但是当我在 codeigniter $this->db->where('date(orderDate)', 'CURDATE()') 中执行此条件时

它不显示结果。

【问题讨论】:

    标签: mysql codeigniter


    【解决方案1】:

    改变

    $this->db->where('date(orderDate)', 'CURDATE()');
    

    $this->db->where('date(orderDate)',date("Y-m-d H:i:s"));
    

    【讨论】:

    • @makii 检查这个
    • 感谢您的回答@dhruv 我刚刚修改了一点,因为我只需要捕获日期而不是日期时间。顺便说一句,你有什么解释为什么 mysql curdate 不能这样工作吗?
    • CURDATE() 是 mysql 函数,而不是 codeigniter。如果你想使用 CURDATE() 那么你必须手动构建语句 $this->db->query( 'SELECT * FROM table WHERE date( orderDate ) = CURDATE()' );
    • 欢迎@makii..:)
    【解决方案2】:

    你可以试试这个方法,

    $this->db->where('DATE(orderDate)','DATE(NOW())');
    

    【讨论】:

      【解决方案3】:

      当您处理日期数据时,您应该特别注意选择可能是以 YYYY-MM-DD HH:MM:SS 格式存储数据。

      并且您正在尝试以 YYYY-MM-DD 格式进行选择,因此时分和秒将与您的选择不匹配,请尝试使用以下方法

      来自

      $this->db->where('date(orderDate)', 'CURDATE()');
      

      $this->db->where('left(orderDate, 10)', 'CURDATE()');
      

      $this->db->where('left(orderDate, 10)',date("Y-m-d"));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-31
        • 2012-11-06
        相关资源
        最近更新 更多