【发布时间】:2013-04-02 01:05:52
【问题描述】:
我想将特定数据库的内容存储到一个数组中,按它们的主键分组。 (而不是 PDO fetchAll() 组织它们的无用方式)。
我当前的代码:
$DownloadsPDO = $database->dbh->prepare("SELECT * FROM `downloads`");
$DownloadsArray = $DownloadsPDO->execute();
$DownloadsArray = $DownloadsPDO->fetchAll();
然后输出:
Array ( [0] => Array ( [id] => 0 [0] => 0 [path] => /xx-xx/testfile.zip [1] => /xx-xx/testfile.zip [name] => Test Script [2] => Test Script [status] => 1 [3] => 1 ) [1] => Array ( [id] => 1 [0] => 1 [path] => /xx-xx/test--file.zip [1] => /xxxx/testfile.zip [name] => New Script-UPDATE [2] => New Script-UPDATE [status] => 1 [3] => 1 ) )
我正在考虑使用PDO::FETCH_PAIR,但是我很快就会扩展我希望能够在此脚本上使用的数据量。这目前有效,但是当我开始扩大下载量并且更多客户端开始发挥作用时,显然数据的分组方式会导致问题。
我是否可以通过主键(即 id)对每个数组进行分组?
【问题讨论】:
-
使用
fetch()循环结果。 -
我可以做到这一点.. 但这不会破坏甚至拥有 fetchAll() 函数的目的吗? @hjpotter92