2015-08-13 42 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