如何获取查询的列名称

时间:2017-03-28 08:13:58

标签: mysql pdo

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

$db = new PDO("...");
$statement = $db->prepare("select column_name from mapping_table");
$list = $statement->fetch();
$matches = implode(',', $list);

现在从这个结果来看,我需要进行查询。我的问题是如何将这个$ matches传递给第二个查询的column_name。

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

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

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();