php PDO fetchAll(),简单的结果
问题描述:
关于PDO :: fetchAll()的许多问题,但我仍然无法找到我的答案。我需要获取我的结果,因为它是由MySQL返回的。例如,如果我有列id
,name
,age
要返回这样的:php PDO fetchAll(),简单的结果
array(
"id"=array(1,2,3),
"name"=array("xy","by","cy"),
"age" = array(32,34,35)
)
我知道我可以做一个函数,遍历列表,并把它们手动在阵列中,但我想知道有一个使用fetchAll('magic')的直接方法。
答
你可以这样做。
<?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
没有没有。使用'fetchAll()'你可以获得所有的行为subArray – Rizier123
http://us3.php.net/manual/en/pdostatement.fetchall.php请参阅'PDO :: FETCH_COLUMN',这就像你会得到。 – Sammitch
你可以通过'array_column'等来重新排列fetchAll结果列表。 – mario