Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查输入的日期时间是否在2个日期时间值之间_Php_Mysql_Between - Fatal编程技术网

Php 检查输入的日期时间是否在2个日期时间值之间

Php 检查输入的日期时间是否在2个日期时间值之间,php,mysql,between,Php,Mysql,Between,我有一个表,其中包含两列startdate和enddate,用于存储特定场地娱乐节目的开始和结束时间。(两列的日期时间格式均为'Y-m-d H:I:s')。当用户在此时间限制内创建程序时,程序的结束时间在时间限制内,但不是开始时间或开始时间在时间限制内,但不是结束时间,程序不应该插入显示警报的表中。我已经这样编写了查询。但是它不能正常工作 SELECT * FROM tbl_venue WHERE venue_id='id' AND ((venue_start_datetime BETWEEN

我有一个表,其中包含两列startdate和enddate,用于存储特定场地娱乐节目的开始和结束时间。(两列的日期时间格式均为'Y-m-d H:I:s')。当用户在此时间限制内创建程序时,程序的结束时间在时间限制内,但不是开始时间或
开始时间在时间限制内,但不是结束时间
,程序不应该插入显示警报的表中。我已经这样编写了查询。但是它不能正常工作

SELECT * FROM tbl_venue WHERE venue_id='id' AND
((venue_start_datetime BETWEEN 'entered starttime' AND 'entered end time')
AND (venue_stop_datetime BETWEEN 'entered starttime' AND 'entered end time'))    
提前感谢。

试试这个:

SELECT * 
FROM tbl_venue 
WHERE venue_id='id' AND
'entered starttime' >= venue_start_datetime
AND 'entered end time' <= venue_stop_datetime
AND 'entered starttime' <= 'entered end time'
选择*
来自tbl_场馆
地点_id='id'和
“已输入开始时间”>=地点\u开始\u日期时间

和“输入的结束时间”您必须测试输入的开始日期是否在开始日期和结束日期之间,或者输入的结束日期是否在开始日期和结束日期之间

SELECT * FROM tbl_venue WHERE venue_id='id' AND
('entered starttime' BETWEEN venue_start_datetime AND venue_stop_datetime
OR 'entered endtime' BETWEEN venue_start_datetime AND venue_stop_datetime)

>以及在这方面的工作dates@DiMono但在某些情况下,它并不完美。这不取决于列的数据类型吗?如果是varchar,那还不行,是吗?如果将列设置为ast DATETIME,它将工作。在什么情况下不工作?是忽略小时和分钟还是什么?@Keeleon如果开始时间早于数据库中的开始时间,或者如果结束时间大于数据库中的结束日期。如果开始日期和结束日期在限制范围内,则其工作正常