查询结束时意外中断

时间:2018-08-24 06:19:53

标签: php mysql

必须成功完成,因为我已经成功完成了数千次。在PHP的查询中,我试图找出为什么在foreach循环中失败的原因,因为$ rowCat为空,并且当我在屏幕上回显查询时,它在结尾处有一个中断。

PHP中的代码如下所示

$GroupID = (isset($_SESSION['AccessLevel'])) ? $_SESSION['AccessLevel'] : "";
$queryCat = "SELECT DISTINCT 
                AdminCategory 
            FROM adminmenu 
            WHERE GroupID <= $GroupID 
            ORDER BY ItemName";
$rowCat = DBConnect($queryCat, "Multiple", $siteDB);

foreach ($rowCat as $row) :
    $CatName = $row['AdminCategory'];
....

但是回显$ queryCat变量会在结尾产生中断,这是我可以看到的唯一失败的可能性,因为查询本身是有效的。我看不到中断的来源,但是如果它将中断发送到自定义DBConnect()函数,那就可以解释了。

SELECT DISTINCT 
                AdminCategory 
            FROM adminmenu 
            WHERE GroupID <= 4 
            ORDER BY ItemName<br />

有什么想法要寻找吗?我检查了页面的编码,也没问题。

1 个答案:

答案 0 :(得分:0)

我发现了问题,对此感到有些愚蠢!我知道它必须是非常基本的东西,这就是为什么我没有用太多不必要的代码来塞住这个问题,而原来是查询本身。奇怪的是,这个查询已经运行了好几年了,所以虽然现在我怀疑我使用的MySQL和PHP版本比实时服务器要新,而且Apache2肯定是更新的,但现在仍然不清楚为什么会出现这个问题。我什至今天早些时候在HeidiSQL中运行了查询,并且运行良好,但是当我上一次尝试使用它时,由于一个字段上的DISTINCT和另一个字段上的ORDER BY,它给出了一个错误。应该是这样的。至少我不会再拔头发了,所以谢谢那些回答。

$queryCat = "SELECT DISTINCT AdminCategory 
        FROM adminmenu 
        WHERE GroupID <= $GroupID 
        ORDER BY AdminCategory";

为进行健全性检查,我只是在活动服务器上尝试了原始查询,该查询确实在该服务器上运行,但未在我的本地开发系统上运行。