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

PHP数据库数据可通过var_dump获取但无法在HTML表格显示求助

问题分析与解决方案

从你的代码来看,核心问题非常明确:你成功从数据库获取到了数据(var_dump能正常打印就是证明),但拼接好的HTML表格行字符串没有输出到页面上。

错误原因

你写的这一行代码只是创建了一个包含表格行的字符串,但没有通过echo或print语句把它发送给浏览器渲染:

'<tr> <td> ' . $row['ord_id'].'</td> <td> '.$row['ord_total'].'</td> <td> '.$row['ord_date'].'</td> <td> '.$row['ord_qty'].'</td> <td> '.$row['card_id'].'</td> <td> '.$row['card_price'].'</td> <td> '.$row['card_field1'].'</td> <td> '.$row['card_field2'].'</td> <td> '.$row['card_field3'].'</td> <td> '.$row['card_field4'].'</td> <td> '.$row['card_field5'].'</td> </tr>';

这就好比你写了一段文字但没念出来,浏览器自然接收不到这部分内容。

修复后的代码

只需要给这段HTML字符串加上echo即可,修改后的完整代码如下:

<?php 
$result = mysqli_query($con,$sql); 
while($row = mysqli_fetch_assoc($result)){ 
    var_dump($row); 
    // 加上echo输出表格行
    echo '<tr> 
            <td> ' . $row['ord_id'].'</td> 
            <td> '.$row['ord_total'].'</td> 
            <td> '.$row['ord_date'].'</td> 
            <td> '.$row['ord_qty'].'</td> 
            <td> '.$row['card_id'].'</td> 
            <td> '.$row['card_price'].'</td> 
            <td> '.$row['card_field1'].'</td> 
            <td> '.$row['card_field2'].'</td> 
            <td> '.$row['card_field3'].'</td> 
            <td> '.$row['card_field4'].'</td> 
            <td> '.$row['card_field5'].'</td> 
          </tr>'; 
    var_dump($row); 
} 
?>

额外优化建议

为了让代码更易读、更不容易出错,推荐你用PHP嵌入HTML的写法,把HTML结构和PHP逻辑分开:

<?php 
$result = mysqli_query($con,$sql); 
while($row = mysqli_fetch_assoc($result)){ 
    var_dump($row); 
?>
<tr>
    <td><?php echo $row['ord_id']; ?></td>
    <td><?php echo $row['ord_total']; ?></td>
    <td><?php echo $row['ord_date']; ?></td>
    <td><?php echo $row['ord_qty']; ?></td>
    <td><?php echo $row['card_id']; ?></td>
    <td><?php echo $row['card_price']; ?></td>
    <td><?php echo $row['card_field1']; ?></td>
    <td><?php echo $row['card_field2']; ?></td>
    <td><?php echo $row['card_field3']; ?></td>
    <td><?php echo $row['card_field4']; ?></td>
    <td><?php echo $row['card_field5']; ?></td>
</tr>
<?php 
    var_dump($row); 
} 
?>

另外,如果这些数据包含用户输入的内容,记得用htmlspecialchars()做转义,防止XSS攻击:

<td><?php echo htmlspecialchars($row['ord_id'], ENT_QUOTES); ?></td>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:03:49