Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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 MySQL日期比较返回null_Php_Mysql - Fatal编程技术网

Php MySQL日期比较返回null

Php MySQL日期比较返回null,php,mysql,Php,Mysql,嗨,我有一个关于MySQL的问题,我试图将日期与字符串进行比较。在我的网站上实现之前,我在phpMyAdmin上做手脚,创建正确的SQL查询,其中字符串表示where子句参数 我有一个名为“bookings”的表,其中有一个名为“Check-In”的列,该列的数据类型为Date。一个条目的“登记”日期设置为“2013-12-12”。我计划发布结构和条目的图片,但由于我的起始声誉,我没能发布 我浏览并尝试了StackOverFlow和其他来源上的各种变体,例如: SELECT * FROM `bo

嗨,我有一个关于MySQL的问题,我试图将日期与字符串进行比较。在我的网站上实现之前,我在phpMyAdmin上做手脚,创建正确的SQL查询,其中字符串表示where子句参数

我有一个名为“bookings”的表,其中有一个名为“Check-In”的列,该列的数据类型为Date。一个条目的“登记”日期设置为“2013-12-12”。我计划发布结构和条目的图片,但由于我的起始声誉,我没能发布

我浏览并尝试了StackOverFlow和其他来源上的各种变体,例如:

SELECT * FROM `bookings` WHERE DATE_FORMAT('Check In',  '%Y-%m-%d' ) = STR_TO_DATE('2013-12-12', '%Y-%m-%d')

SELECT * FROM `bookings` WHERE 'Check In' = STR_TO_DATE('2013-12-12', '%Y-%m-%d')

SELECT * FROM `bookings` WHERE 'Check In' = DATE_Format('2013-12-12', '%Y-%m-%d')

SELECT * FROM `bookings` WHERE 'Check In' = '2013-12-12'

尽管我有一个日期为2013-12-12的条目,但所有这些结果都返回0。这是我在stackoverflow上发表的第一篇文章,如果有任何不明确的地方,请原谅,但还是要感谢任何试图帮助我的人

“签入”只是字符串值,因此字符串“签入”被转换为“0000-00-00”

要引用列名,请使用“签入”。你能试试这个吗

SELECT * FROM `bookings` WHERE DATE_FORMAT(`Check In`,  '%Y-%m-%d' ) = STR_TO_DATE('2013-12-12', '%Y-%m-%d')

SELECT * FROM `bookings` WHERE `Check In` = STR_TO_DATE('2013-12-12', '%Y-%m-%d')

SELECT * FROM `bookings` WHERE `Check In` = DATE_Format('2013-12-12', '%Y-%m-%d')

SELECT * FROM `bookings` WHERE `Check In` = '2013-12-12'

如果你没有用空格命名列,你就不需要引用它,这样你就不会遇到使用错误的引号的问题。是的,你是对的,这是我在创建DB时经常犯的命名约定错误。谢谢,这解决了所有问题。将签入更改为签入,并且工作正常。谢谢
SELECT * FROM `bookings` WHERE DATE_FORMAT(`Check In`,  '%Y-%m-%d' ) = STR_TO_DATE('2013-12-12', '%Y-%m-%d')

SELECT * FROM `bookings` WHERE `Check In` = STR_TO_DATE('2013-12-12', '%Y-%m-%d')

SELECT * FROM `bookings` WHERE `Check In` = DATE_Format('2013-12-12', '%Y-%m-%d')

SELECT * FROM `bookings` WHERE `Check In` = '2013-12-12'