2017-03-28 78 views
0

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

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

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

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

会发生什么:'( “从表1中选择$匹配”)'? –

+0

没有它不给我说,结果未知列$匹配 – sanin

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

现在它工作。之前,当我做同样的事情,它不工作。我不知道之前发生了什么。无论如何谢谢 – sanin

+0

很高兴听到它为你工作。这是第一个示例还是在最后一次使用'fetchAll()'进行编辑之后为您工作? –

+0

我试过fetchAll() – sanin

相关问题