如果用户通过表单($date_booked)提供以下格式的日期:
2012-1-6
与日期(预订日期)进行比较:
2012-01-06
检查它的正确 SQL 方法是什么(使用 phpMyAdmin):
SELECT * FROM room WHERE date_booked LIKE $date_booked
或者 MySQL 不会返回任何内容?
提前致谢。
最佳答案
Assuming PHP from the
$variable
notation
使用 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 — Parse about any English textual datetime description into a Unix timestamp
关于php - 表单和数据库之间的日期冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752092/