php - mysql查询查找日期小于另一个日期

标签 php mysql date

我正在尝试检索一组将在接下来的 7 天内过期的 ID,但我这辈子都无法让我的查询正常工作

   $target_date = date('Y-m-d', strtotime('+7 days'));
   $sql = "SELECT subscriptions.`id` FROM subscriptions WHERE date($target_date) <= expires AND cust_id =$_SESSION[uid]";

任何帮助将不胜感激

最佳答案

这很好:

$target_date = date('Y-m-d', strtotime('+7 days'));

因为它以与 MySQL 相同的方式构造日期 [YYYY-MM-DD]

我已经改变了您的查询并将 DATE() 函数应用于“expires”字段,而不是您的 $target_date,因为它不需要。您的过期字段可能采用 [YYYY-MM-DD HH:MM:SS] 格式,这可能是它不起作用的原因:

$sql = "
SELECT subscriptions.id 
FROM subscriptions 
WHERE DATE(expires) >= '$target_date' 
AND cust_id = '$_SESSION[uid]'";

回显 $sql 查询以查明它是否正确执行并使用 or die(mysql_error()); 告诉您它在哪里失败。

如另一个答案中所述,也使用 SQL 转义(PDO 或 mysqli)。

希望这对您有所帮助。

关于php - mysql查询查找日期小于另一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13075130/

相关文章:

php - Android SDK中字符串的加密

php - 内联渲染 FineUploader 按钮

javascript - 为什么我不能将调用日期对象方法的结果存储在变量中

php - 海量数据导致服务器内部错误?

bash - 将正确的月份开始日和结束日传递给并行

php - 如何在 PHP 中获取每月的周数?

PHP spl_autoload_register() 找不到函数

php - 为什么我没有从这个 php 文件中得到 XML 输出?

php - 如何在 php 代码中编写 jquery 代码

php - 如何从 codeigniter 事件记录中的 DATETIME 字段中获取 d-m-Y 格式的日期?