我正在尝试制作一个能够让用户在特定日期之间注册的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很陌生,但我找不到有类似问题的人。
提前致谢!
答案 0 :(得分:0)
删除一个特定的行。就那么简单。重新插入并查看问题是否仍然存在。
答案 1 :(得分:0)
mysql_query()
表示查询字符串不应以分号结尾。您的查询应该是
$query = "SELECT * FROM database.user WHERE created_date>='".$startDate."' AND created_date<='".$endDate."'";