将MySQL查询中的每个单独结果分配到唯一数组的最简单方法是什么


What is the easiest way to assign each individual result from a MySQL query into a unique array?

基本上我想在文档的其他地方调用这些变量,但我不确定最简单的方法是什么。例如,在我的特定情况下,我的查询是这样的:

     $query = "SELECT report,";
        $query.= "GROUP_CONCAT(DISTINCT analyst) AS analysts, ";
        $query.= "GROUP_CONCAT(DISTINCT region) AS regions, ";
        $query.= "GROUP_CONCAT(DISTINCT country) AS countries, ";
        $query.= "GROUP_CONCAT(DISTINCT topic) AS topics, ";
        $query.= "GROUP_CONCAT(DISTINCT date) AS dates, ";
        $query.= "GROUP_CONCAT(DISTINCT province) AS provinces ";
        $query.= "FROM reports GROUP BY report ORDER BY docID DESC ";
      $result = mysql_query($query);
  while($row=mysql_fetch_assoc($result)) { yada yada yada }

我想让每个单独的$row保存为一个唯一的数组,我可以在文档中的其他地方调用它,就我而言,我正在尝试将它们调用为某些表单输入的默认值。我可以想到几种方法来做到这一点,但它们看起来都非常复杂,添加一些嵌套的语句,并增加 i...

有什么想法吗?

怎么样

$data = array()
while($row = mysql_fetch_assoc($result)) {
    $data[] = $row;
}

这为您提供了一个父$data数组,其中每个元素都是您获取的关联数组之一。

假设

每个生成的数据库行都是唯一的,则每个$row在内容方面都是唯一的。将行粘贴到一个名为 $rows 的数组中,如下所示 -

$rows = array();
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
  $rows[] = $row;
  ...
}

如果您正在谈论将每一行命名为唯一变量,您可以做一些事情,但是您留下了不可预测的变量名称来尝试找出答案,所以我希望这不是您的意思:)