Javascript 显示服务器错误,而不是从数据库加载数据

Javascript 显示服务器错误,而不是从数据库加载数据,javascript,php,sql,ajax,http-status-code-500,Javascript,Php,Sql,Ajax,Http Status Code 500,我不知道我错过了什么。我正在尝试将数据从数据库加载到导航栏。导航栏应该为管理员、签名用户和其他用户提供不同的链接。由于我还没有创建用于登录和注册的页面,所以我假设使用AJAX调用的page showMenu.php中的代码将获取从functions.php加载的最后一个函数,该函数是针对未登录用户的查询。但是,代码不是从数据库中获取数据以用JS编写,而是属于AJAX调用的error属性,此外,还显示showMenu.php页面的server error 500。我检查了main.js和php页面

我不知道我错过了什么。我正在尝试将数据从数据库加载到导航栏。导航栏应该为管理员、签名用户和其他用户提供不同的链接。由于我还没有创建用于登录和注册的页面,所以我假设使用AJAX调用的page showMenu.php中的代码将获取从functions.php加载的最后一个函数,该函数是针对未登录用户的查询。但是,代码不是从数据库中获取数据以用JS编写,而是属于AJAX调用的error属性,此外,还显示showMenu.php页面的server error 500。我检查了main.js和php页面的所有路径以及数据库中表和列的名称,所有内容都是正确的。为了记录,connection.php包含fetch模式,因此可以使用->访问表的列。我错过了什么

js代码

getViaAjax("showMenu",showMenu);
function getViaAjax(fileName, specificFunction) {
  $.ajax({
    url: "models/" + fileName + ".php",
    method: "get",
    dataType: "json",
    success: function(jsonData){
      specificFunction(jsonData);
   },
    error: function(xhr){
      console.error(xhr);
   }
  });
}
function showMenu(menuJsonData){
    let writingMenu = "";
    menuJsonData.forEach(partOfMenu=>{
        writingMenu+=`<li id="${partOfMenu.id}" class="nav-item">
          <a class="nav-link" href="${partOfMenu.href}">${partOfMenu.label}</a>
        </li>`;
    });
    document.getElementById("menu").innerHTML=writingMenu;
}

如果您的状态为500,那么您的服务器日志应该包含错误的详细信息。还要注意,您的SQL中没有来自表的
。您必须检查数据库文档,并可能运行解释,但我想
不像6
将不是一个可索引查询,您可能需要使用
!=6
。或者更好的方法是,添加一个类似于
ACTIVE
的列,您可以进行切换,这样就不需要硬编码这样的异常。Alex Howansky,非常感谢!
<?php
    session_start();
    if($_SERVER['REQUEST_METHOD'] == 'GET'){
        include "../config/connection.php";
        include "functions.php";

        try{
            if(isset($_SESSION['user'])){
                $user = $_SESSION['user'];
                if($user->roleId==1){
                    $jsonMenu = showMenuForAdmin();
                }
                else {
                    $jsonMenu = showMenuForSignedInUser();
                }
            }
            else{
                $jsonMenu = showMenuForNonSignedInUser();
            }
            echo json_encode($jsonMenu);
            http_response_code(200);
        }
        catch(PDOException $exception){
            http_response_code(500);
        }
    }
    else{
        http_response_code(404);
    }
?>
function showMenuForNonSignedInUser(){
        global $connection;
        $query = "SELECT id, href, label WHERE id NOT LIKE 6;";
        $data = $connection->query($query)->fetchAll();
        return $data;
    }