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

时间:2014-11-17 10:04:29

标签: php mysql

我想从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日期时间对象,但这样做的正确方法是什么?当然我可以使用Date(t.returning),但我也需要那天的时间。当前日期时间之后的所有事件。我搜索并找到了一些答案,但没有一个帮助我。谢谢!

2 个答案:

答案 0 :(得分:1)

应该是这样的:

$sql = 'SELECT t.* from transire t where t.returning > "'.$transire->returning.'";';

答案 1 :(得分:1)

在php中为变量使用双引号,并在日期周围添加单引号:

$sql = "SELECT t.* from transire t where t.returning > '".$transire->returning."'";

通过转义变量来避免sql注入。