php PDO fetchAll(),简单的结果

问题描述:

关于PDO :: fetchAll()的许多问题,但我仍然无法找到我的答案。我需要获取我的结果,因为它是由MySQL返回的。例如,如果我有列idnameage要返回这样的:php PDO fetchAll(),简单的结果

array(
    "id"=array(1,2,3), 
    "name"=array("xy","by","cy"), 
    "age" = array(32,34,35) 
) 

我知道我可以做一个函数,遍历列表,并把它们手动在阵列中,但我想知道有一个使用fetchAll('magic')的直接方法。

+0

没有没有。使用'fetchAll()'你可以获得所有的行为subArray – Rizier123

+1

http://us3.php.net/manual/en/pdostatement.fetchall.php请参阅'PDO :: FETCH_COLUMN',这就像你会得到。 – Sammitch

+0

你可以通过'array_column'等来重新排列fetchAll结果列表。 – mario

你可以这样做。

<?php 
function returnResultAsArray() 
{ 
    $test=NULL; 
    // ..... connection and query here 
    $results = $query->fetchAll(PDO::FETCH_ASSOC); 
    foreach($results as $row) 
    { 
     $test['id'][]=$row['id']; 
     $test['name'][]=$row['name']; 
     $test['age'][]=$row['age']; 
    } 
    return $test; 
} 
?> 

让我知道这对你的作品

+0

我有一个类似于这个的函数,但是我正在考虑一个简单的方法,像'var_dump($ sth-> fetchAll(PDO :: FETCH_COLUMN | PDO :: FETCH_GROUP));'我不知道我应该使用哪种组合来获得我想要的。 – Mohammad