$Day = mysqli_real_escape_string($Connection, $_GET['day']); //1
$Str = "-".$Day." day"; //"-1 day"
$MinRange = date("Y-m-d", strtotime($Str))." 00:00:00"; //2013-12-07 00:00:00
$MaxRange = date("Y-m-d", strtotime($Str))." 23:59:59"; //2013-12-07 23:59:59
$query = mysqli_query($Connection, "SELECT * FROM `counter` WHERE time BETWEEN '{$MinRange}' AND '{$MaxRange}'") or die (mysqli_error($Connection));
while($Counter = mysqli_fetch_array($query))
{
echo $Counter['id'];
}
它总是跳过第一行,但它仍然不起作用,当我不使用范围,可能是循环的问题?我看到人们使用这个循环没有问题MYSQL不返回第一行
使用占位符。问题可能在于数据库中的信息或提供的限制(例如,它不在“值”之间)。另外,为了检查日期,比较为WHERE DATE(x)= ..'(不需要处理时间)。在任何情况下,ORDER BY *必须*存在才能获得可靠的记录订单。 – user2864740
看起来它不是循环问题,也不是查询问题,因为SELECT * FROM'counter'甚至没有工作,所以现在我猜测它是MySQLi问题?我对MySQL没有问题 –