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

如何在PHP中结合HTML代码展示MySQL表中的数据?

修复你的MySQL数据转HTML表格代码

看起来你在把MySQL数据渲染成HTML表格时遇到了结构和兼容性问题,我帮你梳理下问题点,再给出完善后的代码:

原代码的几个核心问题

  • 过时的mysql_*函数:这套函数早在PHP 5.5就被废弃,PHP 7+直接移除了,不仅不安全,还会导致代码在新环境跑不起来,建议换成mysqli_*或者PDO。
  • HTML结构不完整:你只拼接了<td>单元格,但没包裹<tr>行标签,表格会渲染错乱;另外table table- hover里的空格多了,应该是table table-hover(Bootstrap的正确类名)。
  • 缺少错误处理:如果数据库连接失败或者查询出错,代码会直接报错,没有任何容错机制。

完善后的代码示例(用mysqli扩展)

<?php
// 1. 建立数据库连接(替换成你的数据库信息)
$conn = mysqli_connect('localhost', '用户名', '密码', '数据库名');
if (!$conn) {
    die('数据库连接失败: ' . mysqli_connect_error());
}

// 2. 准备查询语句
$consultaSucursales = "SELECT id, empresa FROM empresa";
$ejecutar = mysqli_query($conn, $consultaSucursales);

// 3. 检查查询是否成功
if (!$ejecutar) {
    die('查询失败: ' . mysqli_error($conn));
}

// 4. 构建HTML表格,完善结构
$codigoHTML = '<table width="100%" border="1" class="table table-hover">';
// 可选:添加表头
$codigoHTML .= '<thead><tr><th>ID</th><th>企业名称</th></tr></thead>';
$codigoHTML .= '<tbody>';

// 遍历查询结果
while ($fila = mysqli_fetch_assoc($ejecutar)) {
    // 每一行用<tr>包裹<td>
    $codigoHTML .= '<tr>';
    $codigoHTML .= '<td><center>' . $fila['id'] . '</center></td>';
    $codigoHTML .= '<td><center><strong>' . $fila['empresa'] . '</strong></center></td>';
    $codigoHTML .= '</tr>';
}

$codigoHTML .= '</tbody></table>';

// 5. 输出或者使用HTML
echo $codigoHTML;

// 6. 关闭连接
mysqli_close($conn);
?>

几个关键改进说明

  • 用mysqli_*替代mysql_*,支持现代PHP版本,还能使用预处理语句防止SQL注入(如果后续有动态参数的话)。
  • 补全了表格的<thead>、<tbody>、<tr>标签,保证HTML结构合法,渲染正常。
  • 添加了连接和查询的错误判断,方便调试问题。
  • 修正了Bootstrap类名的空格问题,确保样式生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:29:26