php mysql日期/时间问题

php mysql日期/时间问题,php,mysql,datetime,select,Php,Mysql,Datetime,Select,我已经构建了一个小应用程序,它有用户管理、输入数据的前端控制台和控制前端部分的后端控制台。前端向MySQL数据库添加带有时间戳的行。后端需要能够在X和Y日期之间从数据库中选择行 到目前为止,一切都正常,除了约会部分,我真的很挣扎 前端SQL输入如下所示(通过删除伪代码简化): 这似乎工作正常,时间戳被提取并添加到我的表中的DATETIME列中。它在数据库中显示为dd/mm/yyyy hh:mm:ss 所以。。。我的第一个问题是——这是正确的方法吗 第二个问题是,我需要什么样的SQL语句来提取X和

我已经构建了一个小应用程序,它有用户管理、输入数据的前端控制台和控制前端部分的后端控制台。前端向MySQL数据库添加带有时间戳的行。后端需要能够在X和Y日期之间从数据库中选择行

到目前为止,一切都正常,除了约会部分,我真的很挣扎

前端SQL输入如下所示(通过删除伪代码简化):

这似乎工作正常,时间戳被提取并添加到我的表中的DATETIME列中。它在数据库中显示为dd/mm/yyyy hh:mm:ss

所以。。。我的第一个问题是——这是正确的方法吗

第二个问题是,我需要什么样的SQL语句来提取X和Y日期之间的行数组


抱歉,如果这有点杂乱无章,希望清楚,但如果您需要更多信息,请告诉我。

MySQL datetime的格式应为破折号:

YYYY-MM-DD HH:MM:SS

然后,您可以通过以下两种方式查询日期范围:

select *
from table
where date >= '[start date]' and date <= '[end date]';

其中“table”是数据库表的名称,“date”是datetime字段的名称。

MySQL datetime的格式应为破折号:

YYYY-MM-DD HH:MM:SS

然后,您可以通过以下两种方式查询日期范围:

select *
from table
where date >= '[start date]' and date <= '[end date]';

其中“table”是数据库表的名称,“date”是datetime字段的名称。

您是正确的。我可以确认数据库有“YYYY-MM-DD HH:MM:SS”-我正在使用SQLWave编辑器快速浏览数据库,它会自动格式化DATETIME列

// Initial questions still stand :)
或者没有,只是注意到你更新了答案-非常感谢!实际上,我曾多次尝试过同样的查询,但都没有成功,主要是因为WHERE错误地指定了日期格式。被SQLWave误导:(


从现在开始回到使用命令行!!!

你是正确的。我可以确认数据库有“YYYY-MM-DD HH:MM:SS”-我正在使用SQLWave编辑器快速浏览数据库,它会自动格式化日期时间列

// Initial questions still stand :)
或者没有,只是注意到您更新了答案-非常感谢!实际上,我已经多次尝试了相同的查询,但都没有成功,主要是因为我的WHERE错误地指定了日期格式。被SQLWave误导:(

从现在开始回到使用命令行!!!

“我需要什么样的SQL语句来提取X和Y日期之间的行数组?”

“我需要什么样的SQL语句来提取X和Y日期之间的行数组?”


你能澄清一下“这是正确的方法吗”?你达到了你想要的结果了吗?如果没有,你想要达到什么结果?你可能想要在你的帖子中添加mysql\u real\u escape\u string来停止注入你能澄清一下“这是正确的方法吗”?你是否达到了你想要的结果?如果没有,你想要达到什么样的结果?你可能想要在你的帖子中添加mysql\u real\u escape\u string来停止注入日期\u SUB/DATE\u add可能有帮助-就像php的strotime(“+4天”)或者使用mktime,它可以让您忘记一个月有多少天。DATE\u SUB/DATE\u ADD可能有助于做到这一点——就像php的strotime(“+4天”)或者使用mktime,它可以让您忘记一个月有多少天。
SELECT * FROM `dacc_data` where `date` between "2008-11-01" and "2008-12-01"