如何修复mysql SELECT查询始终停在特定记录?

时间:2011-07-21 19:30:42

标签: php mysql select

我正在尝试制作一个能够让用户在特定日期之间注册的php工具。但是,我遇到了一个奇怪的问题。该查询似乎无法识别表中的所有记录。让我解释一下。

这是php代码:

    function getRegistrations($startDate,$endDate) {
    //echo $startDate;
    //echo $endDate;
    $startDate = date('Y-m-d H:i:s',$startDate);
    $endDate = date('Y-m-d H:i:s',$endDate);
    $query = "SELECT * FROM database.user WHERE created_date>='".$startDate."' AND created_date<='".$endDate."';";
    $result = mysql_query($query);
    $data = array();
    $data['query'] = $query;
    $data['content'] = array();
    if($result) {
        $data['status'] = 1;
        $data['message'] = "Success";
    }
    $count = 0;
    $data['num_rows'] = mysql_num_rows($result);
    while ($row = mysql_fetch_assoc($result)) {
        $data['content'][$row['user_id']] = $row;
        $count++;
    }
    $data['count'] = $count;
    echo json_encode($data);
}

当我在mysql工作台中运行查询时,它运行正常。但是,当我通过php运行它时,似乎忽略了某个记录之后的每个记录。我可以看到所有记录到user_id = 243,然后结束。 num_rows和count仍然相等,它们等于内容的长度。但是,如果我直接从mysql工作台运行查询,我可以看到它应该更高。 此外,无论日期如何,它始终停在同一记录中。如果我选择一个早期开始日期,那么它可能会返回50条记录,但它仍然停在同一条记录上。

有没有人有任何想法?虽然我对MySQL很陌生,但我找不到有类似问题的人。

提前致谢!

2 个答案:

答案 0 :(得分:0)

删除一个特定的行。就那么简单。重新插入并查看问题是否仍然存在。

答案 1 :(得分:0)

mysql_query()表示查询字符串不应以分号结尾。您的查询应该是

$query = "SELECT * FROM database.user WHERE created_date>='".$startDate."' AND created_date<='".$endDate."'";