繁体   English   中英

MySQL选择大于某个日期时间的所有记录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM