📅  最后修改于: 2023-12-03 15:38:53.711000             🧑  作者: Mango
在php中,如果我们需要获取数据库中所有列的值,可以通过以下几种方式实现:
通过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>";
}
}
通过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>";
}
}
通过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 *语句的性能问题。