Php mysqli查询的问题

Php mysqli查询的问题,php,mysql,mysqli,Php,Mysql,Mysqli,朋友们,我被困住了,需要你们的帮助 当使用MySql创建动态菜单时,我使用查询从ParentID=0的页面中选择*并对子菜单使用ParentID='$PageID'。。。但是,在使用MySqli时,这种方法似乎不起作用。。我看到的一个主要原因是,查询应该在函数外部编写,因为在函数内部,simple不起作用。。不知道为什么。无论如何,这是我的代码,我希望你们的朋友能帮助我解决这个问题 function Get_menu() { $menuQuery = $mysql->query("

朋友们,我被困住了,需要你们的帮助

当使用MySql创建动态菜单时,我使用查询从ParentID=0的页面中选择*并对子菜单使用ParentID='$PageID'。。。但是,在使用MySqli时,这种方法似乎不起作用。。我看到的一个主要原因是,查询应该在函数外部编写,因为在函数内部,simple不起作用。。不知道为什么。无论如何,这是我的代码,我希望你们的朋友能帮助我解决这个问题

function Get_menu() {
    $menuQuery = $mysql->query("SELECT PageTitle, PageID, ParentID FROM pages WHERE ParentID = 0");
    while (($row = $menuQuery->fetch_assoc()) !== null) {
        echo '<li class="menu-item"><a href="page.php?pageID=' . $row["PageID"] . '">' . $row["PageTitle"] . '</a>';
        $PageID = $row["PageID"];
        $SubmenuQuery = $mysql->query("SELECT PageTitle, PageID, ParentID FROM pages WHERE ParentID = '$PageID'");
        if($SubmenuQuery->num_rows > 0) {
            echo '<ul class="sub-menu">';
            while (($rowx = $SubmenuQuery->fetch_assoc()) !== null) {
                echo '<li class="menu-item"><a href="page.php?pageID=' . $rowx["PageID"] . '">' . $rowx["PageTitle"] . '</a></li>';
            }
            echo '</ul>';
        }
        echo '</li>';
    }
}
函数获取菜单(){
$menuQuery=$mysql->query(“从ParentID=0的页面中选择PageTitle、PageID、ParentID”);
while(($row=$menuQuery->fetch_assoc())!==null){
echo'
  • ; $PageID=$row[“PageID”]; $subnumuequery=$mysql->query(“从ParentID='$PageID'的页面中选择PageTitle、PageID、ParentID”); 如果($subnumquery->num\u rows>0){ echo'
      ; while(($rowx=$subnumuequery->fetch_assoc())!==null){ echo'
    • ; } 回声“
    ”; } 回音“
  • ”; } }
    我尝试在函数外编写查询,但子菜单的查询不起作用,因为它假定$PageID为0。 亲爱的朋友,如果你能帮助我,那将是一个很大的帮助
    谢谢

    $mysql
    未在您的函数范围内定义。应将其作为参数传递:

    function Get_menu($mysql)
    
    试着分析一下:

    $query = 
    "SELECT PageTitle, PageID, ParentID 
    FROM 
      pages subs 
    INNER JOIN 
      pages cats 
    ON 
      subs.ParentID = cats.PageId 
    GROUP BY PageID" ;
    

    或者,如果要按1乘1获取类别,您的数据库将是pwn3d,并且会有压力。

    修复了代码格式,因为它有点难以读取。该代码可以并且应该作为单个联接查询重写。