在PHP中找不到我的排序错误


Can't find my sorting error here in PHP

我试图返回两个日期之间的表的一部分,但整个表不断返回。不仅仅是两个日期之间的值。你能告诉我我做错了我的代码下面?

$result = mysql_query("SELECT Name, DateTime, FROM names");
$sorting = mysql_query("WHERE DateTime between '2012-12-12 17:09:00' AND '2012-12-12 17:06:00'");
while($row = mysql_fetch_array($result,$sorting))
{
$output[] = $row;
}
print(json_encode($output));
mysql_close($con);

这里有几个语法错误,实际上您应该在将其发送给mysql_query()函数之前构建完整的查询:

$query = "SELECT Name, DateTime FROM names";
$query .= " WHERE DateTime BETWEEN '2012-12-12 17:06:00' AND '2012-12-12 17:09:00'";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
    $output[] = $row;
}
print(json_encode($output));
mysql_close($con);

BETWEEN取最小值和最大值,按此顺序…你在传递max和min

你正在传递2 mysql查询到函数,你应该只给1。排序变量将被php丢弃,因为它仅用于返回一个正布尔值,该布尔值用于指示数组的返回类型。

这里重写为:

http://codepad.org/Y8EYaZrk

$result = mysql_query("SELECT Name, DateTime, FROM names WHERE DateTime between '2012-12-12 17:09:00' AND '2012-12-12 17:06:00'");
while($row = mysql_fetch_array($result))
{
$output[] = $row;
}
print(json_encode($output));
mysql_close($con);