PHP 从前 24 小时 sql 数据库中选择数据

标签 php html mysql sql datetime

我正在使用下面的脚本从前 24 小时中提取数据并将其输出到一个 html 表中,它在 8 月的整个月都有效,但自从月份更改为 9 月后就搞砸了,现在显示第一个数据入口..

我的“时间戳”列是 varchar + 主键,格式如下:04/09/2014 01:33:59

这是脚本:

$sql = "SELECT * 
        FROM my_table
        WHERE Timestamp >= DATE_FORMAT(CURDATE(), '%d/%m/%Y') 
        ORDER BY Timestamp ";

这个脚本有什么问题?我只想让它提取过去 24 小时内的所有数据,仅此而已,提前致谢!

最佳答案

不应将 CURDATE() 转换为字符串,而应将 Timestamp 转换为 DATE。您可以使用 STR_TO_DATE为此。

WHERE STR_TO_DATE(Timestamp, '%d/%m/%Y %H:%i:%s') >= CURDATE()
ORDER BY STR_TO_DATE(Timestamp, '%d/%m/%Y %H:%i:%s')

您也可以使用原始查询,但只需使用 = 而不是 >=。您只需要当前日期的行,而不是 future 的行。

关于PHP 从前 24 小时 sql 数据库中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25655655/

相关文章:

php 变量不是数组。在变量中使用 mysql_query 插入数据

MySQL在任何地方找到包含所有字母的单词

javascript - php 发送空白电子邮件

php - mysql php 中的 SQL 存储过程

javascript - 更改背景位置时背景图像消失了吗?

html - Css 变换 : Scale Only Works in Dev Tools

html - 需要帮助使 Easy Table(Wordpress 插件)响应

android - 如何正确实现手机客户端数据库和服务器mysql数据库之间的数据同步

mysql - 带有空格的用户电子邮件,用 MySQL 修复?

PHP MySQL 插入具有不同 ID 的多行