[英]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.