繁体   English   中英

如何使用 mysqli 从选择查询的结果中获取列名

[英]How to get column names from the result of a select query using mysqli

我需要创建一个脚本,它遍历 MySQL 的结果并使用 mysqli 自动返回在查询中选择的列名。 注意:我将使用一些伪代码来更容易地解释我的观点。 显然是错误的

例如带有列的CLIENTS表:

ID, NAME, EMAIL, TELEPHONE, ADDRESS

如果我有一个查询:

$result =  $mysqli->query("SELECT * FROM CLIENTS WHERE ID = 1");

我需要脚本来返回 ID NAME、EMAIL、TELEPHONE、ADDRESS。

伪代码:

foreach ($result as $column => $value){
   echo $column
}

结果:

ID, NAME, EMAIL, TELEPHONE, ADDRESS,

如果查询只是相同的事情

$result =  $mysqli->query("SELECT NAME as N, EMAIL as E FROM CLIENTS WHERE ID = 1");

脚本应该只返回:

N, E,

想法?

这不是一个完整的工作片段,而是朝着正确方向点头。

$sql = "SELECT * FROM clients WHERE id = 1";
$res = $mysqli->query($sql);
$row = $res->fetch_assoc();
$colNames = array_keys($row);

现在$row包含一个关联数组,其中包含第一个选定行的所有列名和变量。 如果您只想要列名,则将它们放在$colNames

处理所有数据使用

while ($row = $res->fetch_assoc()) {
    ...
}

我认为您也可以在 PHP 中使用此查询查询数据库:

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM