PHP查询了一个月,但给了我最后两年的时间


PHP query for a month but gives me last two years

我有一个php查询

  $query = "SELECT * FROM lbs_trace_etrack WHERE lbs_client='$slcustom1' AND MONTH (lbs_date) = MONTH (NOW())";

它从SQL中提取或假设提取当月的信息,它这样做,但也提取上一年的信息。如何更改此查询以仅获取当前月份和当前年份的信息?

您还需要将其添加到WHERE子句中:

YEAR(lbs_date) to YEAR(NOW())

您的查询现在要求的是:给我3月份带有lbs_date的客户的行数。相反,你想要的是:在今年3月给我这个客户一行lbs_date。

添加and YEAR(lbs_date)=YEAR(NOW());

我不知道你使用的是哪个数据库引擎,所以你需要将样本(它也未经测试,但你已经明白了)翻译成相关的,但你只需要给它一个更好的比较日期

$query = "SELECT * FROM lbs_trace_etrack WHERE lbs_client='$slcustom1' AND lbs_date <= dateadd(month,1,NOW())";

或者,如果你想在月底之前返回日期,你可以使用

$query = "SELECT * FROM lbs_trace_etrack WHERE lbs_client='$slcustom1' AND lbs_date <= dateadd(month,1,dateadd(day,day(NOW()) * -1,now())";