📜  如何获取所有列值php(1)

📅  最后修改于: 2023-12-03 15:38:53.711000             🧑  作者: Mango

如何获取所有列值php

在php中,如果我们需要获取数据库中所有列的值,可以通过以下几种方式实现:

1. 使用SELECT语句查询所有列

通过SELECT *语句可以查询所有列,然后通过fetch_assoc()方法获取所有列的值,代码如下:

$query = "SELECT * FROM table_name";
$result = mysqli_query($conn, $query);

while ($row = mysqli_fetch_assoc($result)) {
    foreach ($row as $key => $value) {
        echo $key . ": " . $value . "<br>";
    }
}
2. 使用SHOW COLUMNS语句查询所有列名

通过SHOW COLUMNS语句查询所有列名,然后再使用SELECT语句获取所有列的值,代码如下:

$query = "SHOW COLUMNS FROM table_name";
$result = mysqli_query($conn, $query);

$cols = array();
while ($row = mysqli_fetch_assoc($result)) {
    $cols[] = $row['Field'];
}

$query = "SELECT " . implode(',', $cols) . " FROM table_name";
$result = mysqli_query($conn, $query);

while ($row = mysqli_fetch_assoc($result)) {
    foreach ($row as $key => $value) {
        echo $key . ": " . $value . "<br>";
    }
}
3. 使用DESC语句查询所有列名

通过DESC语句查询所有列名,然后再使用SELECT语句获取所有列的值,代码如下:

$query = "DESC table_name";
$result = mysqli_query($conn, $query);

$cols = array();
while ($row = mysqli_fetch_assoc($result)) {
    $cols[] = $row['Field'];
}

$query = "SELECT " . implode(',', $cols) . " FROM table_name";
$result = mysqli_query($conn, $query);

while ($row = mysqli_fetch_assoc($result)) {
    foreach ($row as $key => $value) {
        echo $key . ": " . $value . "<br>";
    }
}

通过以上三种方式,可以获取数据库中所有的列值。其中,第一种方式最简单,但需要注意SELECT *语句可能会影响性能;第二种和第三种方式需要额外查询一次数据库,但可以避免SELECT *语句的性能问题。