一定是我错过了什么,因为我已经成功地做了几千次。在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变量会在末尾产生一个break,这是我能看到的唯一失败的可能性,因为查询本身是有效的。我不知道中断是从哪里来的,但是如果它将它发送到自定义dbconnect()函数,这就可以解释它了。
SELECT DISTINCT
AdminCategory
FROM adminmenu
WHERE GroupID <= 4
ORDER BY ItemName<br />
你知道要找什么吗?我已经检查了页面的编码,它也很好。
1条答案
按热度按时间n8ghc7c11#
我发现了问题,觉得有点傻!我知道它必须是一些非常基本的东西,这就是为什么我没有用太多不必要的代码来解决这个问题,结果是查询本身。奇怪的是,这个查询已经运行了很多年了,所以现在还不清楚为什么会出现这个问题,尽管我怀疑我使用的mysql和php版本比live服务器上的版本要新一些,而且apache2肯定是更新的。今天早些时候我甚至在heidisql中运行了这个查询,它运行得很好,但是当我刚才最后一次尝试它时,它给出了一个错误,因为在一个字段上是distinct,在另一个字段上是order by。应该是这样的。至少我不会再为了这个拔头发了,所以谢谢那些回应我的人。
作为一个健全性检查,我只是在live服务器上尝试了原始查询,它确实在那里运行,但在我的本地开发系统上没有运行。