Php SQL查询当前日期在开始/结束日期内的条目

Php SQL查询当前日期在开始/结束日期内的条目,php,sql,mysql,Php,Sql,Mysql,使用MySQL 我需要比较当前日期的两个字段是:startDate、endDate 我需要这样的查询: SELECT * FROM `{$this->_sPrefix}` WHERE `profileID` = '{$iProfileId}' AND CUR_DATE() BETWEEN `startDate` AND `endDate` ORDER BY `added` DESC"; 这是我的新查询,但我不知道如何同时执行这两项检查:profileID和日期。您应该可以这样做,

使用MySQL

我需要比较当前日期的两个字段是:startDate、endDate

我需要这样的查询:

SELECT * FROM `{$this->_sPrefix}` 
WHERE `profileID` = '{$iProfileId}' 
AND CUR_DATE() 
BETWEEN `startDate` AND `endDate` 
ORDER BY `added` DESC";

这是我的新查询,但我不知道如何同时执行这两项检查:profileID和日期。

您应该可以这样做,但必须在以下两项之间使用:

 WHERE CUR_DATE() BETWEEN `startDate` AND `endDate`
您使用的是什么SQL数据库

编辑(回答已编辑的问题,请不要不断更改问题!):

假设profileID、startDate和endDate都是同一个表中的列,那么您的查询看起来是正确的


此外,如果这是面向Web的应用程序,请考虑避免这种动态SQL生成,因为这会使应用程序对SQL注入攻击开放。

您应该能够做到这一点,但必须使用:

 WHERE CUR_DATE() BETWEEN `startDate` AND `endDate`
... WHERE CUR_DATE() BETWEEN `startDate` AND `endDate` ORDER ...
您使用的是什么SQL数据库

编辑(回答已编辑的问题,请不要不断更改问题!):

假设profileID、startDate和endDate都是同一个表中的列,那么您的查询看起来是正确的

此外,如果这是面向Web的应用程序,请考虑避免这种动态SQL生成,因为它会使应用程序对SQL注入攻击开放。

<代码>…其中“开始日期”= CURY DATE()
... WHERE CUR_DATE() BETWEEN `startDate` AND `endDate` ORDER ...
…其中`startDate`=CUR\u DATE()

为什么这件事被否决了?这是对这个问题的有效回答,不是吗?仅仅因为它看起来不像其他答案并不意味着它不正确。@Larry Lustig:我也在想同样的事情。我开始想也许我已经颠倒了小于和大于。我没有否决它,但它的效率稍低,因为CUR_DATE()会被计算两次。为什么会被否决?这是对这个问题的有效回答,不是吗?仅仅因为它看起来不像其他答案并不意味着它不正确。@Larry Lustig:我也在想同样的事情。我开始想也许我已经颠倒了小于和大于。我没有否决它,但它的效率稍低,因为CUR_DATE()会被计算两次。请不要编辑您的问题来更改它。相反,请询问您的后续行动以回答问题。我在下面编辑了我的答案,以回应您的新问题。请不要编辑您的问题来更改它。相反,请询问您的后续行动以回答问题。我在下面编辑了我的答案,也是为了回答你的新问题。