2015-08-13 43 views
-1

如何獲取PDO(或PDO後)的mysql查詢以獲得此結果?我的意思是"titles of the columns"在陣列的第一個位置和下一個位置的值?有人能幫我做個例子嗎?我如何獲取PDO以獲得第一個數組位置的列名稱?

[ 

["ColumnTitle","Column2Title"], 
["RecordValue1","RecordValue2"], 
["RecordValue1","RecordValue2"], 
["RecordValue1","RecordValue2"], 
["RecordValue1","RecordValue2"] 

] 

MySQL查詢返回:

ColumnTitle | Column2Title 
---------------------------- 
RecordValue1 RecordValue2 
RecordValue1 RecordValue2 
RecordValue1 RecordValue2 
RecordValue1 RecordValue2 

我不認爲這個問題是重複的,這是一個特定的情況下.. :(

+0

http://php.net/manual/en/pdostatement.getcolumnmeta.php –

+0

謝謝,那麼我應該使用:'$ columns = $ db-> fetchAll(PDO :: FETCH_COLUMN);'然後追加數據行用foreach插入數組,對吧?你將如何選擇行? – xunga

+0

@JayBlanchard它使用'$ result = $ db-> query($ query); ($ i = 0; $ i < $result-> columnCount(); $ i ++){ $ col = $ result-> getColumnMeta($ i); $ columns [] = $ col ['name']; '但是我的第二個問題仍然存在,我如何才能得到值以將它們附加到數組中? – xunga

回答

0

PDO不提供這樣的格式開箱即用(因爲沒有開發人員會喜歡這種方式),但你可以通過微調進行調整

$data = $pdo->query('SELECT * FROM users')->fetchAll(PDO::FETCH_ASSOC); 
array_unshift($data, array_keys($data)); 

但是你的位置我不會將列名添加到數據數組中。

+0

感謝您的建議,不幸的是它並沒有真正做到它的預期。:(我需要的東西,放在陣列的第一個位置只是列的名稱,在下一個值。通過精確預測PHP也能提供幫助的問題;) – xunga