gpt4 book ai didi

php - Codeigniter 查询生成器 - 查找特定日期的记录数不起作用

转载 作者:行者123 更新时间:2023-11-29 16:06:51 25 4
gpt4 key购买 nike

在 codeigntier 中,我有以下内容:

echo $this->db->where('FROM_UNIXTIME(`last_login`) >=','NOW() - INTERVAL 1 DAY')->from('users')->count_all_results();

上面的结果是:0

我使用了 print_r($this->db->last_query());获取正在运行的实际sql字符串,如下所示:

 SELECT COUNT( * ) AS  `numrows` 
FROM `users`
WHERE FROM_UNIXTIME( `last_login` ) >= NOW( ) - INTERVAL 1
DAY

当我使用 mysql 运行它时,我得到了正确的结果:1。

我猜测转义现在正在工作或者其他什么,但无法弄清楚。有什么想法吗?

====新更新。

抱歉,CI3 指出了这一点:

SELECT COUNT(*) AS `numrows`
FROM `users`
WHERE FROM_UNIXTIME(`last_login`) >= 'NOW() - INTERVAL 1 DAY'

当我在 mysql 中运行时,上面的结果为 0。当我使用下面时,它有效:

SELECT COUNT(*) AS `numrows`
FROM `users`
WHERE FROM_UNIXTIME(`last_login`) >= NOW() - INTERVAL 1 DAY

所以它是两个小撇号。我该如何解决这个问题?

最佳答案

我将语句更改为以下内容并且有效:

$this->db->where("FROM_UNIXTIME(`last_login`) >= NOW() - INTERVAL 1 DAY")->from('users')->count_all_results();

关于php - Codeigniter 查询生成器 - 查找特定日期的记录数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55663485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com