移动到函数时查询不起作用


Query Not Working When Moved to Function

我在index.php页面上有一个查询,它运行得很好。但是,当我将查询移到functions.php,创建完全相同的查询时,它会中断。知道为什么吗?

index.php

<ul>
 <?php $cms_sub_pages = cms_find_sub_pages ($file_name); ?>
 <?php while($subpage = mysqli_fetch_assoc($cms_sub_pages)) { ?>
   <li><a href="/edit.php?
       <?php echo $subpage["page_id"]; ?>"><?php echo $subpage["link_name"]; ?></a
   </li>    
 <?php
 }
 ?>
 <?php mysqli_free_result($sub_pages); ?>
 </ul>

functions.php

function cms_find_sub_pages ($file_name) {
    global $conn;
    $query = "SELECT * FROM pages WHERE main_cat = 2 AND category =  '{$file_name}' ORDER BY subcategory_order ASC ";
    $sub_pages = mysqli_query($conn, $query);
    confirm_query($sub_pages);
    return $sub_pages;  
}

解决:问题出现在index.php中:

<?php $cms_sub_pages = cms_find_sub_pages ($file_name); ?>

更改为:

<?php $cms_sub_pages = cms_find_sub_pages ($mainpage["page_id"]); ?>

未定义的变量$file_name。

使用

function cms_find_sub_pages ($file_name) {

function cms_find_sub_pages () {
    global $conn, $file_name;

请使用error_reporting(E_ALL);从header.php调试您的脚本。

第页。S.对不起,我的英语