MYSQL - 如何按时间查询数据库

时间:2013-02-19 21:15:48

标签: php mysql pdo

我在一个名为

的列的数据库中说了12个结果
thread

message

time_posted

有12个结果,它们都有相同的thread女巫是1002。

我正试图在time_posted "2013-03-19 17:36:08"之后获得所有结果。 任何一方至少有4个条目,所以我应该在这之后获得4个条目。

到目前为止,我已经尝试了一切,我收到了一个空数组,或者除了从2013-03-19 17:36:08作为时间戳的行之外我得到了所有内容。

以下是我的尝试:

    public function get_messages($thread){

        $time = '2013-03-19 17:36:08';

        $statement = $this->database->prepare("SELECT * FROM chat WHERE thread = ? AND time_posted > '$time'");

        $statement->bindParam(1, $thread);

        $statement->execute();

        $this->result = $statement->fetchAll(PDO::FETCH_ASSOC);

        return $this->result;

    }

我用两个< AND>

提前感谢您的帮助。

一切顺利。

康纳

1 个答案:

答案 0 :(得分:1)

试试这个:

    $time = '2013-03-19 17:36:08';

    $statement = $this->database->prepare("SELECT * FROM chat WHERE thread = ? AND time_posted >= STR_TO_DATE(?, '%Y-%m-%d %H:%i:%s')");

    $statement->bindParam(1, $thread);
    $statement->bindParam(2, $time );

    $statement->execute();