通过PHP和列标题获取MySQL表数据

时间:2017-02-21 10:02:43

标签: php mysql

如何通过PHP将列标题作为第一行?我通过'Describe [tablename]'查询知道列名。但不确定如何在下面的代码中将它们作为标头获取。 任何帮助,将不胜感激。 我使用下面的代码来获取数据:

$sql = 'SELECT * FROM [tablename]';
$result = mysqli_query($conn, $sql);
echo '<table cellpadding="5" cellspacing="5">';
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "<tr>";
        foreach ($row as $value) {
            echo "<td>" . $value . "</td>";
        }
        echo "</tr>";
    }
} else {
    echo "0 results";
}
echo '</table>';

2 个答案:

答案 0 :(得分:3)

要从数据库列打印表头,请使用以下代码:

echo "<tr>";
while ($col = $result->fetch_field()) {
    echo "<th>" . $col->name . "</th>";
}
echo "</tr>";

答案 1 :(得分:1)

如果使用关联数组进行提取,您还可以在任何行上使用array_keys。但是这样,如果结果计数为0,则不会获得任何列名。

示例:

$columns = array_keys($result->fetch_assoc()[0]);

foreach ($columns as $column) {
    echo $column . '<br>';
}