在PHP脚本中选择日期范围和SQL之间的数据
可能重复:在PHP脚本中选择日期范围和SQL之间的数据,php,sql,date,Php,Sql,Date,可能重复: 女士们,先生们,晚上好!我试图在一个php发布脚本上拉取一个查询,该脚本将拉取信息 SELECT `id` FROM `leads` WHERE `status` = 'Passed' AND `campaign_id` = '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee' 原来的路线是 $id_query = mysql_query("SELECT `id` FROM `leads` WHERE `status` =
女士们,先生们,晚上好!我试图在一个php发布脚本上拉取一个查询,该脚本将拉取信息
SELECT `id`
FROM `leads`
WHERE `status` = 'Passed'
AND `campaign_id` = '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee'
原来的路线是
$id_query = mysql_query("SELECT `id` FROM `leads` WHERE `status` = 'Passed' AND 'campaign_id' = '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee'");<br>
$id = mysql_fetch_row($id_query);<br>
echo $id[0];
但显然,这是行不通的。我正在研究使用JOIN和add
AND 'datesubmitted_c' BETWEEN Date_Add(curDate(), INTERVAL -65 YEARS) AND curDate()
我的新产品线是这样的
$id_query = mysql_query("SELECT `id` FROM `leads` WHERE `status` = 'Passed' AND
campaign_id' = '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee' AND 'datesubmitted_c' BETWEEN
Date_Add(curDate(), INTERVAL -65 YEARS) AND curDate()'");
这似乎仍然不能正常工作,有什么建议吗?试试这个:
$id_query = mysql_query("
SELECT `id` FROM `leads` WHERE `status` = 'Passed' AND
`campaign_id` = '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee' AND STR_TO_DATE(datesubmitted_c, '%m/%d/%y') >= Date_Add(curDate(), INTERVAL -65 YEARS) "
);
由于您只希望在过去65年内提交日期,因此不需要中间日期,而且该语法的可移植性较差
datesubmitted_c字段的类型必须为date。要验证这一点,请执行“DESC leads”;如果不是日期类型,则需要执行STR_To_date(datesubmitted,“%m/%d/%y”)作为日期
动态更改字段的类型(如果可以的话)您今天早些时候没有问过这个问题吗?使用两个语句:小于和大于?例如,
WHERE datesubmitted\u c>“1992-09-07”和datesubmitted\u c
我确实重播了好几次帖子,所以我只是发布了我最新的、正在工作/没有工作的内容。最后一个问题似乎也到处都是=)在这种情况下,你应该编辑原始问题,而不是发布新问题。不要再问问题,编辑您的原始问题。仍然声明它是无效参数:\n我将从leads
中选择id
,其中status
='Passed'和campaign\u id
='22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee'和datesubmitted\u c
=Date\u Add(curDate(),间隔-65年),你能做一个描述吗代码>?我想知道datesubmitted_c是否不是date/timedatesubmitted_c是标准的mm/dd/yyyy类型,我可以使用其他日期字段,它们具有相同的属性,但也可以发布hh:mm am/pm。这就是问题所在。如果是mm/dd/yyyy,则这些不是日期。您需要将date STR_to_date(datesubmitted_c,“%m/%d/%y”)解析为日期,以将其转换为日期/时间类型的字段
$id_query = mysql_query("
SELECT `id` FROM `leads` WHERE `status` = 'Passed' AND
`campaign_id` = '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee' AND STR_TO_DATE(datesubmitted_c, '%m/%d/%y') >= Date_Add(curDate(), INTERVAL -65 YEARS) "
);