[英]Mysql select all records that are greater than some date time
我想从date1
大于其他date2
表中选择所有记录。 Date1
是MySQL中的datetime
字段。 Date2
是PHP中的datetime
对象。 我不仅要比较日期,还要比较时间。 这是我不工作的查询。
$sql = 'SELECT t.*
from transire t
where t.returning > '.$transire->returning.';';
错误:
Message: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error
in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near '' at line 1
好的,我明白了,我不能像那样比较php datetime对象,但是正确的方法是什么? 当然可以使用Date(t.returning),但我也需要当天的时间。 当前日期时间之后的所有事件。 我搜索并找到了一些答案,但没有一个对我有帮助。 谢谢 !
应该是这样的:
$sql = 'SELECT t.* from transire t where t.returning > "'.$transire->returning.'";';
在PHP中为变量使用双引号,并在日期前后添加单引号:
$sql = "SELECT t.* from transire t where t.returning > '".$transire->returning."'";
并通过转义变量来避免SQL注入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.