发现了一些类似的问题,但没有完全像这样......所以这里......
因此,当我将这条 SQL 语句粘贴到 PHPMyAdmin SQL 窗口中时,它可以完美运行,但在作为 PHP mysql_query 语句运行时它返回零结果(无错误):
SELECT distinct action_detail2
FROM stats_tracking
WHERE date_entered >= '2013-05-08 00:00:00' AND
date_entered <= '2013-05-08 23:59:59' AND
action_detail1 != '10.0.0.1'
ORDER BY action_detail2
如果语法有问题,您会认为它会出错。如您所见,我正在尝试返回特定日期的所有条目。这在 PHPMyAdmin 上完美运行。只在“mysql_query”调用中返回 0 个结果。
这是代码:
// Fix date entries
$fixFrom = explode("-", $_GET['from']);
$FROM = $fixFrom[2] . "-" . $fixFrom[0] . "-" . $fixFrom[1];
$fixTo = explode("-", $_GET['to']);
$TO = $fixTo[2] . "-" . $fixTo[0] . "-" . $fixTo[1];
// Build SQL statement
$SQL_Centers = "
SELECT distinct(action_detail2)
FROM stats_tracking
WHERE date_entered >= '" . $FROM . " 00:00:00' AND
date_entered <= '" . $TO . " 23:59:59' AND
action_detail1 != '10.0.0.1'
ORDER BY action_detail2
";
$resultCenters = mysql_query($SQL_Centers); // Run the actual query.
$dataCount_Centers=mysql_num_rows($resultCenters); // Get the count of rows, just in case we need it.
echo $dataCount_Centers;
这将返回计数 0。没有错误。稍后在代码中,我将所有数据输出转换为 JSON - 所有其他查询都有效。这也显示没有 JSON 记录。再次......没有错误。它们都通过相同的数据库连接运行......等等。显然,这条语句导致没有记录被返回。
我 ECHO 了 SQL 语句,然后将它从 Firebug 剪切并粘贴到这个问题。然后我将它粘贴到 PHPMyAdmin SQL - 并运行它。工作完美。
任何帮助表示赞赏。
谢谢