PHP MySQL日期大于

PHP MySQL日期大于,php,mysql,database,Php,Mysql,Database,好的 所以我有一个字符串,在本例中,它用PHP日期('Y-m-dh:I:s')检查日期; 我想用数据库行检查它,如果它大于 $sql="SELECT * FROM date WHERE '$this->dateClose' < start_time AND '$this->dateOpen' < end_time"; $sql=“选择*从日期,其中“$this->dateClose”dateOpen””。date('Y-m-d H:i:s',strottime($thi

好的

所以我有一个字符串,在本例中,它用PHP日期('Y-m-dh:I:s')检查日期; 我想用数据库行检查它,如果它大于

$sql="SELECT * FROM date WHERE '$this->dateClose' < start_time AND '$this->dateOpen' < end_time";
$sql=“选择*从日期,其中“$this->dateClose”dateOpen”

它在一个循环中,所以它将打印所有开始时间小于dateClose的内容,而dateOpen和end时间正好相反。但它不起作用,请帮助。

尝试使用
WHERE字段运算符值匹配
,并以适当的格式更改值以匹配
日期时间

$sql="SELECT * FROM date WHERE start_time > '".date('Y-m-d H:i:s', strtotime($this->dateClose))."' AND end_time < '".date('Y-m-d H:i:s', strtotime($this->dateOpen))."'";
$sql=“SELECT*FROM date WHERE start_time>”。date('Y-m-d H:i:s',strottime($this->dateClose))。“'和end_time<”。date('Y-m-d H:i:s',strottime($this->dateOpen))。“;
请试试这个

$sql="SELECT * FROM date WHERE '".$this->dateClose."' < start_time AND '".$this->dateOpen."' < end_time";
$sql=“选择*从日期哪里”“。$this->dateClose”“,dateOpen”“,
用于给定值

start_time = 2014-11-01 21:00 end_time = 2014-11-02 19:00 
$this->dateOpen = 2014-11-01 20:00 $this->dateClose = 2014-11-02 18:00
从sql中不获取行是可以的。没有适用于您的条件的有效行

WHERE '2014-11-02 18:00' < start_time AND '2014-11-01 20:00' < end_time'
其中“2014-11-02 18:00”为开始时间,“2014-11-01 20:00”为结束时间
'2014-11-02 18:00'
部分为假。
您必须重新考虑希望从sql中获得什么。

$this->dateClose
$this->dateOpen
中有什么?以及
start\u time
end\u time
字段的格式是什么?请尝试以下
$sql=“选择*从日期开始,{$this->dateClose}dateOpen}
start\u time=2014-11-01 21:00 end\u time=2014-11-02 19:00$this->dateOpen=2014-11-01 20:00$this->dateClose=2014-11-02 18:00所以您的查询是
SELECT*从日期开始,其中“2014-11-02 18:00”<'2014-11-01 21:00'和“2014-11-01 20:00”
'2014-11-02 18:00“<'2014-11-01 21:00'为假。