如何仅显示SQL表的列名?现有代码返回冗余属性求优化
如何仅获取并显示MySQL表的列名?
嘿,我懂你的需求!你当前的代码确实会把SHOW COLUMNS返回的所有列属性(比如数据类型、是否允许为空、键类型等)都打印出来,但其实我们只需要提取结果集中的**Field字段**就能拿到纯列名啦。
原因说明
SHOW COLUMNS FROM tblexercise返回的结果集里,专门有一个名为Field的字段,它的值就是我们要的列名。原来的foreach循环会遍历整行的所有属性,所以才会输出多余的内容,我们直接提取这个特定字段即可。
修改后的代码
$sql = "SHOW columns FROM tblexercise"; $result = mysqli_query($conn,$sql); while ($row = mysqli_fetch_assoc($result)) { echo "<tr>"; // 直接提取列名字段,无需遍历所有属性 echo "<td>" . htmlspecialchars($row['Field']) . "</td>"; echo "</tr>"; }
额外提示
我加了htmlspecialchars()函数来处理输出内容,这是为了避免潜在的XSS安全风险——如果你的列名里包含特殊字符(比如<、>),这个函数会把它们转义成安全的HTML实体,让页面显示更稳定。
内容的提问来源于stack exchange,提问作者vonggyy
相关产品推荐
相关产品推荐

