2017-03-28 119 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

相關問題