如何修复mysql SELECT查询总是停在一个特定的记录


How to fix mysql SELECT query from always stopping at a specific record?

我试图使一个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很陌生,但我还没有找到任何有类似问题的人。

提前感谢!

删除这一行。就是这么简单。重新插入,看看问题是否仍然存在。

mysql_query()说查询字符串不应该以分号结束。你的查询应该是

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