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

PHP循环后HTML代码失效:下拉框加载数据库选项后后续元素消失

问题排查与修复方案
  • 核心错误:多余分号破坏HTML结构
    你的代码里,<option>标签末尾多了一个分号;,这个分号会被浏览器当作无效的HTML内容,导致DOM解析中断,后续的隐藏域、提交按钮等元素无法正常渲染。

  • 额外优化:添加数据库查询错误处理
    如果数据库查询失败(比如连接异常、SQL语法错误),mysqli_query会返回false,此时mysqli_fetch_assoc在false上执行会触发致命错误,直接终止脚本运行,同样会导致页面后续元素消失。添加错误判断可以快速定位问题。


修复后的完整代码

<form action="" method="POST">
  <label><b>Add Student to this User ID</b></label>
  <select name="student_id" class="form-control">
    <option value="0">--Select Student--</option>
    <?php
    $query = mysqli_query($con, "SELECT * FROM students ORDER BY first_name, last_name, Other_name ASC");
    // 新增查询错误判断
    if (!$query) {
        die("数据库查询失败: " . mysqli_error($con));
    }
    while ($row = mysqli_fetch_assoc($query)) { ?>
      <option value="<?php echo $row['id'] ?>"><?php echo $row['first_name'] . ' ' . $row['last_name'] . ' ' . $row['Other_name'] ?></option>
    <?php } ?>
  </select>
  <br />
  <input type="hidden" name="page_id" value="<?php echo $user_id; ?>">
  <div class="row">
    <div class="col-sm-3 col-sm-offset-4">
      <p><input type="submit" class="btn btn-xs btn-success" name="submit" value="Add Student"></p>
    </div>
  </div>
</form>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:25:27