You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP MySQL下拉筛选查询异常:同结构代码第二个分支无结果

问题分析与修复

我一眼就发现第二个筛选分支里有两个致命错误,这就是它无法获取数据的核心原因:

错误1:混用废弃的mysql扩展与mysqli扩展

你在第二个分支里写了一行完全多余且错误的代码:

while($data = mysql_fetch_assoc($result)) $data = "";

mysql_fetch_assoc()属于已经被废弃的老版MySQL扩展,和你正在使用的mysqli扩展完全不兼容,这行代码不仅毫无意义,还会直接导致结果集读取异常。

错误2:提前耗尽了查询结果集

就算上面的函数名是对的,这行while循环也会把$result里的所有数据都读取一遍,把结果集的指针移到末尾,导致后面真正用来渲染数据的while($rows = mysqli_fetch_assoc($result))再也读不到任何数据。


修复后的第二个分支代码

把那行错误的代码删掉,然后确保所有数据库操作都用mysqli系列函数,修复后的代码如下:

else if($_POST["FilterDoc"]=="other") {
    $result = mysqli_query($conn,"SELECT * FROM records ORDER BY other_govt ASC");
    // 删掉那行错误的while循环
    $data = ""; // 初始化$data变量
    while($rows = mysqli_fetch_assoc($result)){
        $document_type = $rows['document_type'];
        $date_received = $rows['date_received'];
        $application_no = $rows['application_no'];
        $hei = $rows['hei'];
        $school_name = $rows['school_name'];
        $from_co = $rows['from_co'];
        $other_govt = $rows['other_govt'];
        $contact_person = $rows['contact_person'];
        $comment = $rows['comment'];
        $program = $rows['program'];
        $year_level = $rows['year_level'];
        $academic_year = $rows['academic_year'];
        $transaction_no = $rows['transaction_no'];
        
        $output = "<table><tr><td>$other_govt</td><td>$document_type</td><td>$date_received</td><td>$application_no </td><td>$hei</td><td>$school_name</td><td>$from_co</td><td>$contact_person</td><td>$comment</td><td>$program</td><td>$year_level</td><td>$academic_year</td><td>$transaction_no</td></tr></table><br>";
        $data .= '<a href = "editdoc.php?v='.$transaction_no.'" name="documents">'.$output.'</a>';
    }
    echo $data;
}

额外调试建议

为了避免类似问题,建议你在mysqli_query之后添加错误检查,这样能快速定位SQL或连接问题:

$result = mysqli_query($conn,"SELECT * FROM records ORDER BY other_govt ASC");
if (!$result) {
    die("查询失败: " . mysqli_error($conn));
}

这样如果SQL语句有问题(比如列名拼写错误),你能直接看到错误信息,而不是一片空白。

内容的提问来源于stack exchange,提问作者Abraham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:01:13