Mysql 如何获取查询的列名

Mysql 如何获取查询的列名,mysql,pdo,Mysql,Pdo,在这个项目中,我有一个动态列,存储在映射表中。现在,在下面的查询中,我可以获取我需要的所有列名 $db = new PDO("..."); $statement = $db->prepare("select column_name from mapping_table"); $list = $statement->fetch(); $matches = implode(',', $list); 现在根据这个结果,我需要做一个查询。我的问题是如何将$matches传递给第二个查询的列

在这个项目中,我有一个动态列,存储在映射表中。现在,在下面的查询中,我可以获取我需要的所有列名

$db = new PDO("...");
$statement = $db->prepare("select column_name from mapping_table");
$list = $statement->fetch();
$matches = implode(',', $list);
现在根据这个结果,我需要做一个查询。我的问题是如何将$matches传递给第二个查询的列名称

$db1 = new PDO("...");
$qry1= $db1->prepare("select {$matches} from table1");
$result= $qry1->fetch();

试着这样做:

db = new PDO("...");
$statement = $db->query("select column_name from mapping_table");
$list = $statement->fetchAll(PDO::FETCH_COLUMN);
$matches = implode('`,`', $list);
然后:

$db1 = new PDO("...");
$qry1= $db1->query("select `$matches` from table1");
$result= $qry1->fetch();

如果您只使用:
(“从表1中选择$matches”)
?不,它不会给我结果,因为未知列$matches我已经给出了一个示例,请让我知道它是否适合您。更新了使用
fetchAll()
的示例,因为它只是您需要的第一列,所有结果都是需要的…现在它工作了。以前,当我做同样的事情时,它不起作用。我不知道以前发生了什么事。无论如何,谢谢你很高兴听到它对你有用。使用
fetchAll()
进行的上一次编辑是第一次还是在最后一次编辑之后对您有效?谢谢您的编辑@Your Common Sence。。在使用fetchAll()时实现了不需要的数组_键…还有很多事情你没有意识到(请告诉我:-),错过了后面的滴答声。我只是试着快速给出答案,试图赢得一些声誉,有时会匆忙错过一些事情。。