如果用户通过表单($ date_booked)提供格式的日期:
2012-1-6
与日期(date_booked):
进行比较2012-01-06
检查它的正确SQL方法是什么(使用phpMyAdmin):
SELECT * FROM room WHERE date_booked LIKE $date_booked
或者MySQL会不会返回任何内容?
提前致谢。
答案 0 :(得分:2)
假设来自
$variable
符号的PHP
使用PHP中的date_parse()
函数,即使它们在语法上不同,也很容易比较两个日期:
date_parse('2012-1-6');
array (
'year' => 2012,
'month' => 1,
'day' => 6,
'hour' => false,
'minute' => false,
'second' => false,
...
)
date_parse('2012-01-06');
array (
'year' => 2012,
'month' => 1,
'day' => 6,
'hour' => false,
'minute' => false,
'second' => false,
...
)
在旁注中,您应该考虑将日期/时间信息存储在数据库中的Unix时间戳(自1970年1月1日起的秒数)中 - 更容易执行计算。 PHP具有a weath个日期/时间函数。
如果您最终将日期和时间存储为Unix时间戳,那么您可以使用PHP的strtotime()
function:
strtotime - 将任何英文文本日期时间描述解析为Unix时间戳
答案 1 :(得分:1)
假设您正在使用TSQL并且用户输入了正确的日期
SELECT * FROM room WHERE date_booked = CONVERT(date, @UserEnteredDate)
您已将问题更新为MySQL
以下是有关如何比较日期MySQL - Change date string to date type in place?
的一个很好的示例