如何在php中获取更新日期小于30天的所有记录

如何在php中获取更新日期小于30天的所有记录,php,mysql,sql,Php,Mysql,Sql,我想从mysql数据库中获取所有记录,这些记录从当前日期起30天内更新,因为我使用了下面的查询,但它无法正常工作$tda是当前日期,$prevmonth是准确的日期 当前日期后30天。请帮忙。谢谢 $da=date('d'); $tda=date('d-m-Y'); $prevmonth = date(''.$da.'-m-Y', strtotime('-1 months')); $sql_q=executeQuery("select * from ".reg." where 'uid' !="

我想从mysql数据库中获取所有记录,这些记录从当前日期起30天内更新,因为我使用了下面的查询,但它无法正常工作$tda是当前日期,$prevmonth是准确的日期 当前日期后30天。请帮忙。谢谢

$da=date('d');
$tda=date('d-m-Y');
$prevmonth = date(''.$da.'-m-Y', strtotime('-1 months'));
$sql_q=executeQuery("select * from ".reg." where 'uid' !=".$_SESSION['uid']." AND Updatedate >= '$prevmonth' AND  Updatedate <='$tda '");
$da=日期('d');
$tda=日期('d-m-Y');
$prevmonth=日期('.$da.'-m-Y',标准时间('-1个月));

$sql\u q=executeQuery(“select*from.reg.”where'uid'!=“$\u SESSION['uid']”和Updatedate>=“$prevmonth”和Updatedate我喜欢这样做:
和Updatedate>NOW()-间隔30天和Updatedate
我喜欢这样做:
和Updatedate>NOW()-间隔30天和Updatedate

我喜欢这样做:
和UpdateDate>NOW()-间隔30天和UpdateDate
我喜欢这样做:
和UpdateDate>NOW()-间隔30天和UpdateDate
你可以在mysql中这样做

`Updatedate` <  DATE(NOW() - INTERVAL 30 DAY)

您可以在mysql中按如下所示进行操作

`Updatedate` <  DATE(NOW() - INTERVAL 30 DAY)

您可以在mysql中按如下所示进行操作

`Updatedate` <  DATE(NOW() - INTERVAL 30 DAY)

您可以在mysql中按如下所示进行操作

`Updatedate` <  DATE(NOW() - INTERVAL 30 DAY)

如果
Updatedate
列是
DATETIME
列,则可以执行以下操作:

选择*
从桌子上
在哪里?
和Updatedate>=日期(现在(),间隔1个月)

和Updatedate如果
Updatedate
列是
DATETIME
列,则可以执行以下操作:

选择*
从桌子上
在哪里?
和Updatedate>=日期(现在(),间隔1个月)

和Updatedate如果
Updatedate
列是
DATETIME
列,则可以执行以下操作:

选择*
从桌子上
在哪里?
和Updatedate>=日期(现在(),间隔1个月)

和Updatedate如果
Updatedate
列是
DATETIME
列,则可以执行以下操作:

选择*
从桌子上
在哪里?
和Updatedate>=日期(现在(),间隔1个月)


和Updatedate谢谢..但是我的date time列是varchar,那么当我的date列是varchar时,如何实现这一点呢?为什么要将日期和时间存储在varchar列中?!将其转换为用于保存这些类型值的数据类型。除了你所拥有的只是愚蠢的事实之外,你正在使你的任务接近不可能。谢谢…但是我的日期时间列是varchar,那么当我的日期列是varchar时,如何实现这一点呢?为什么要将日期和时间存储在varchar列中?!将其转换为用于保存这些类型值的数据类型。除了你所拥有的只是愚蠢的事实之外,你让你的任务几乎不可能完成。谢谢..但是我的日期时间lumn是varchar所以当我的日期列是varchar时,怎么能做到这一点呢?为什么要将日期和时间存储在varchar列中?!将它转换为一种数据类型,用来保存这些类型的值。除了你所拥有的只是愚蠢的事实之外,你让你的任务几乎不可能完成。谢谢..但是我的日期时间列是varchar,怎么办当我的日期列为varchar时,你可以实现这一点。为什么你要将日期和时间存储在varchar列中?!将其转换为一种数据类型,用于保存这些类型的值。除了你所拥有的只是愚蠢的事实之外,你正在使你的任务接近不可能。谢谢..我使用了以下查询,但它给出了语法错误:view-individual-msg.php$sql\u q=executeQuery(“select*from.registration.”其中'uid'!=“$\u SESSION['uid']”和stru-TO-DATE(更新日期,%d-%m-%Y')<日期子(CURDATE(),间隔30天));我很高兴你找到了答案。但是,如果你的数据库增长到一个合适的规模,这种WHERE子句将无法很好地扩展。正如@Andris在其他地方直言不讳地说的,将这些类型更改为datetime类型将是非常明智的,这样你就不必“隐藏”“它们在一个函数中。谢谢..我正在使用以下查询,但它给出了语法错误:view-individual-msg.php$sql\u q=executeQuery(“select*from”.registration.”其中'uid'!=“$\u SESSION['uid']”和STR\u TO\u DATE(Update\u DATE,'%d-%m-%Y')$sql_q=executeQuery("select * from registration where `uid` != ".$_SESSION['uid']." AND STR_TO_DATE(Update_date, '%d-%m-%Y') >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)") ;