Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这是找到3个月前的记录的好方法吗_Php_Postgresql - Fatal编程技术网

Php 这是找到3个月前的记录的好方法吗

Php 这是找到3个月前的记录的好方法吗,php,postgresql,Php,Postgresql,请看一下mycode $result = $db->query("SELECT u.*,age(u.created_on) older FROM users u")->fetchAll(PDO::FETCH_OBJ); foreach ($result as $row) { preg_match("#(.*?)([0-9]+)(\s)mons(.*?)#is", $row->older, $match); if (isset($match[2]) &&a

请看一下mycode

$result = $db->query("SELECT u.*,age(u.created_on) older FROM users u")->fetchAll(PDO::FETCH_OBJ);
foreach ($result as $row) {
    preg_match("#(.*?)([0-9]+)(\s)mons(.*?)#is", $row->older, $match);
    if (isset($match[2]) && $match[2] == "3") {
        echo "{$row->email} is 3 month older";
    }
}
我知道这只能在一个查询中完成

您可以发布此问题的替代解决方案,也可以改进我的代码


我想在这里检查我的操作是否正确

如果您想获取三个月以上的记录,您可以这样编写查询:

select * from "table" WHERE dstart < current_date - INTERVAL '3 month'

如果没有,那么发布另一个解决方案!先尝试一下。所以这对我来说不是一个好的重做,尽管我知道它可以做得更好,但我没有费心去尝试。没问题,我得到了答案,请看下文。您可能会发布mysql查询,但我正在使用postgres@user2907171现在检查查询。我用我的需求select*从用户那里更新,其中DATEcreated\u on=DATENOW-INTERVAL'3 month',但我遇到了'character'的错误OK问题。谢谢,我找到解决办法了