2011-03-29 60 views
0

我知道我可以从数据库中获取列/字段名称使用:SHOW COLUMNS FROM tablename ...但有没有办法让我返回列作为内容,所以我的回报将是这样的:MySQL/PHP的:如何获得列和关联的数据

阵列[0] [0] = 1列名
阵列[0] [1] = 2列名
数组[0] [2] = 3栏名

阵列[1] [0] = 1列第1个值
阵列[1] [1] = 2列第1个值
阵列[1] [2] = 3栏第1个值

...

我希望建立一个JSON对象

jsonObj = { 第1项{
                                                           塔1名:第1列第1倍的值,
                                                       塔2名:第2列第1倍的值,
                                                           列3名:第3栏第1倍的值...

编辑:我要补充一点,我知道的字段名与查询返回结果

(SELECT * FROM sometable)如果你使用

while ($row = mysql_fetch_array($results)) { 
$thisfield = $row['fieldname']; 
} 

但是我怎么能访问他们(字段名称),当我不知道他们?

回答

2

使用mysql_fetch_assoc - 它会返回

阵列( “名称”=> “值”, “NAME2”=> “值2” ......);

然后使用json_encode($数据)

+1

谢谢,它飘浮在我的脑海中,我只是不记得它。你太快了,我必须等10分钟才能接受你的答案...:D – PruitIgoe 2011-03-29 13:36:05

1

使用mysql_fetch_assoc()或任何DB库您使用将提供列名作为数组键的等价物。

$results = array(); 
while ($row = mysql_fetch_assoc($db_result)) 
{ 
    $results[] = $row; 
} 
foreach ($results as $column=>$value) 
{ 
    // loop over $column and $value 
}