如何将MySQL表列名从垂直输出转为点分隔的水平输出
解决方案
很简单,只需要先把所有列名收集到一个数组里,最后用implode()函数把数组元素用点号连接起来输出就行,不用复杂的循环拼接。修改后的代码如下:
<?php $con = mysqli_connect("localhost", "user", "password", "voxeo_sql"); $sql = "SHOW COLUMNS FROM CNETELIG_MEMELIG"; $res = mysqli_query($con, $sql); // 创建空数组存储列名 $columnNames = []; while($row = mysqli_fetch_array($res)) { // 将每个列名存入数组,row['Field']或row[0]都可以获取列名 $columnNames[] = $row['Field']; } // 用点号分隔所有列名并输出 echo implode('.', $columnNames); // 关闭数据库连接 mysqli_close($con); ?>
小说明:
- 先把列名存进数组比在循环里反复拼接字符串更高效,代码逻辑也更清晰
implode('.', $columnNames)会自动把数组中的每个元素用.连接成一个完整字符串,直接输出就得到你要的水平格式- 最后记得关闭数据库连接,这是个好习惯哦~
内容的提问来源于stack exchange,提问作者Nanosynth
相关产品推荐
相关产品推荐

