【问题标题】:php PDO fetchAll(), simple resultphp PDO fetchAll(),简单的结果
【发布时间】:2015-07-03 23:48:11
【问题描述】:

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

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

我知道我可以创建一个函数并遍历列表并将它们手动放入数组中,但我想知道是否有直接使用 fetchAll('magic') 的方法。

【问题讨论】:

  • 不,没有。使用fetchAll(),您只需将所有行作为子数组
  • us3.php.net/manual/en/pdostatement.fetchall.phpPDO::FETCH_COLUMN,这是您将得到的最接近的结果。
  • 您可以通过array_column 等重新排列 fetchAll 结果列表。

标签: php mysql pdo fetchall


【解决方案1】:

你可以这样做。

<?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;
}
?>

让我知道这是否适合你

【讨论】:

  • 我有一个和这个类似的功能,但我在想一个直截了当的方法,比如var_dump($sth-&gt;fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP)); 我不知道应该使用哪种组合来获得我想要的。跨度>
猜你喜欢
  • 1970-01-01
  • 2011-12-04
  • 2012-07-23
  • 2014-11-05
  • 1970-01-01
  • 1970-01-01
  • 2011-12-24
  • 2019-08-07
  • 2020-03-14
相关资源
最近更新 更多