它是如何运作的?
// Purge obsolete login attempts
$this->db->or_where('UNIX_TIMESTAMP(time) <', time() - $expire_period);
$ this-&gt; db-&gt; or_where是codeigniter方法,两者都是&#39; UNIX_TIMESTAMP&#39;和time()返回时间戳,我无法弄清楚为什么&#39; UNIX_TIMESTAMP&#39;将少于第二个论点。
答案 0 :(得分:1)
time
是数据库中的一个字段(很可能是一个日期时间字段),由您的数据库转换为Unix时间戳格式。所以在理论上它等同于写这个:
$this->db->or_where('time <', date('Y-m-d H:i:s', (time() - $expire_period)));
答案 1 :(得分:0)
我对Codeigniter框架一无所知。但是# First condition: Only match host example.com with or without www.
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
# Second condition: Only match if Request URI is /
RewriteCond %{REQUEST_URI} ^/$
# If both conditions match, redirect to http://www.example.com/en/ (Status code 301)
RewriteRule (.*) http://www.example.com/en/ [R=301,L]
部分是一个SQL函数,用于获取或解析日期作为Unix时间戳。您可以在MySQL Date and Time Function文档中查看它。
因此UNIX_TIMESTAMP()
实际上是在表上获取UNIX_TIMESTAMP(time)
列并将其解析为Unix时间戳。
总之,上面的代码将获取time
列小于当前time
的所有行。