【问题标题】:How to retrieve Mysql data from todays date using PHP如何使用 PHP 从今天的日期检索 Mysql 数据
【发布时间】:2021-08-18 09:04:35
【问题描述】:

我正在使用 PHP time() 函数来获取当前时间并将其插入数据库。 我还可以通过在变量中设置值并执行以下操作来检索日期:date(Y-m-d, $time) 但是现在我想从数据库中获取当前日期的结果与插入数据库中的时间相比

我试过了:

SELECT sum(amount) as today_sales FROM activity WHERE type = 'debit' AND `time` = DATE(NOW())

但是这个查询不起作用。结果仍然显示 0

【问题讨论】:

  • 分享你试过的代码
  • SELECT sum(amount) as today_sales FROM activity WHERE type2 = 'debit' AND 'time' = DATE(NOW())
  • 尝试运行 SELECT NOW() 并检查您的数据库和网络服务器是否在同一时区
  • 你有访问 phpmyadmin 的权限吗?
  • 您在time 周围使用撇号,但您应该使用反引号。

标签: php mysql datetime


【解决方案1】:

您使用了错误的引号。 ' 仅用于字符串数据

SELECT sum(amount) as today_sales
  FROM activity WHERE type = 'debit' AND `time` = DATE(NOW())

这里'debit' 是一个字符串。 time 是列名,它使用identifier quotes

您的查询所做的是将文字字符串 'time' 与当前日期进行比较,这当然永远不会匹配。

提示:列名与reserved keywords 冲突通常是个坏主意,这样一开始就避免了很多这种转义的混乱。

【讨论】:

  • 不,仍然有效,它仍然显示 0 作为结果。但是我在同一日期的时间列中的数据很少
  • 不要那样说,这非常令人沮丧,因为它没有告诉我们任何问题。用技术术语描述会发生什么。
  • 我正在尝试汇总表中的余额值。除了仅在今天的日期获得结果外,一切正常。我正在使用 time() 函数来存储日期和时间。现在我正在尝试从当前日期获取总和。当我尝试 SELECT sum(amount) as today_sales FROM 活动 WHERE type = 'debit' AND time = DATE(NOW()) 时,它返回零
  • time 列中有什么内容?什么样的价值观?我猜是 time 值,因为它们永远不会精确地等于今天的 date。也许DATE(`time`) = DATE(NOW())
  • 我通过 $time=time(); 插入数据库。列名是时间。这些值以整数形式出现
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 2021-10-13
  • 2014-05-04
  • 1970-01-01
  • 2011-09-26
  • 2012-10-17
  • 2017-12-08
相关资源
最近更新 更多