使用PHP/MySQL datetime防止重复预订检查
与我正在创建的课程预订系统进行斗争。我在db中有一个日期,名为lesson_date_time,它使用mysql datetime,每节课持续一定的分钟数。(由于分钟数不同,我不会存储结束日期。) 为了防止从存储的日期时间加上所需的分钟数中进行任何双重预订,我似乎无法确定将执行检查以查看此时间段是否存在的sql 我现在有使用PHP/MySQL datetime防止重复预订检查,php,mysql,datetime,Php,Mysql,Datetime,与我正在创建的课程预订系统进行斗争。我在db中有一个日期,名为lesson_date_time,它使用mysql datetime,每节课持续一定的分钟数。(由于分钟数不同,我不会存储结束日期。) 为了防止从存储的日期时间加上所需的分钟数中进行任何双重预订,我似乎无法确定将执行检查以查看此时间段是否存在的sql 我现在有 $mins = "60"; $date_start = "2014-10-30 12:40:00"; $date_end = date("Y-m-d H:i:s", str
$mins = "60";
$date_start = "2014-10-30 12:40:00";
$date_end = date("Y-m-d H:i:s", strtotime("$date_start + $mins minute"));
WHERE lesson_date_time BETWEEN CAST('$date_start' AS DATETIME) AND CAST('$date_end' AS DATETIME)
这会进行检查,但不会捕获任何开始日期在$start_日期之后的小时(或直到结束日期的时间段)内的条目
也试过
WHERE lesson_date_time >= '$date_start' and lesson_date_time =< '$date_end
其中课程日期时间>='$date\u start'和课程日期时间=<'$date\u end
即使退出,也找不到任何结果
是否可以做我想做的事情,或者如果我存储课程结束时间并从那里开始,是否更容易
其中,课程日期时间介于CAST('$date\u start'作为DATETIME)和CAST('$date\u end'作为DATETIME)
就等于
其中,课程日期时间>=CAST(“$date\u start”作为日期时间)和课程日期时间
$mins = "60";
$date_start = "2014-10-30 12:40:00";
$old_lesson_start = date("Y-m-d H:i:s", strtotime("$date_start - $mins minute"));
$date_end = date("Y-m-d H:i:s", strtotime("$date_start + $mins minute"));
WHERE lesson_date_time BETWEEN CAST('$old_lesson_start' AS DATETIME) AND CAST('$date_end' AS DATETIME)