如何从PDO的fetchAll结果中获取列名?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从PDO的fetchAll结果中获取列名?相关的知识,希望对你有一定的参考价值。

我创建了一个表单来从数据库中搜索表,用户可以在其中选择要查看的表。下面是我的表单代码。

<form action="search.php" method="post"> 
<label class="col-lg-3 control-label">Search Table:</label> 
<select class="form-control" name="table1"> 
<option value="Country_Table">Country</option> 
<option value="Flag_Table">Flag</option> 
<option value="Region_Table">Region</option> </select>
<button id="search" type="submit" class="btn btn-primary">Search</button>
</form>

if(isset($_POST['search'])) 
$table1 = $_POST['table1'];
$sql = "SELECT * FROM $table1"; 
$stmt = $dbcon->prepare($sql); 
$stmt->execute();
$result = $stmt->fetchAll();

假设用户选择“国家/地区”并显示结果,我使用以下代码:

<table class='table'>
<tr>
<th>ID</th>
<th>Area</th>
<th>Color</th>
</tr>

<?php foreach($result as $readrow) ?>
<div class="table-row">
<td><?php echo $readrow['id'];?></td>
<td><?php echo $readrow['area'];?></td>
<td><?php echo $readrow['color'];?></td>

问题是,如果用户选择'Flag'或'Region',如何显示表格结果?有什么办法,表格可以显示自己的标题?

答案

您在$ result变量中具有所有列标题

以上是关于如何从PDO的fetchAll结果中获取列名?的主要内容,如果未能解决你的问题,请参考以下文章

PDO中获取结果集之fetchAll()方法详解

PDO中获取结果集之fetchColumn()方法详解

使用 PDO 时如何获取原始表/列名?

PDO::fetchAll 与 PDO::fetch 循环

PDO 循环并打印 fetchAll

PDOStatement:在 `fetchAll($mode);` 和 `setFetchMode($mode); 之间得到不同的结果;获取所有();`