【问题标题】:Get an array of rows from a MySQL query?从 MySQL 查询中获取行数组?
【发布时间】:2015-08-04 16:48:27
【问题描述】:

我有这个代码...

$results_query = "SELECT * FROM profile WHERE string LIKE '%" . $search_deliminator . "%'";
$results_result = $database->query($results_query);
$result = mysql_fetch_array($results_result);

我想要做的是提取 string 列包含我的搜索分隔符的所有行。此外,我想从行的每一列中获取值。

如何提取包含每一行以及每一行中每一列的每个值的多维数组?

编辑:

我正在为此做点什么……

while ($row = mysql_fetch_assoc($results_result)) {

    $result[] = $row;

}

然后像这样回显每一列...

foreach ($result as $row) {
    echo $row["0"];
}

【问题讨论】:

  • 你使用的是什么数据库类?
  • 您使用的是 mysql_、mysqli 还是 PDO?我之前没有见过mysql_驱动被用作对象。
  • 该类只处理连接。我完全忘记了解释这一点。除了简单的单列查询之外,我从未使用过任何其他东西。我认为我很难理解的是在 $result 变量中使用什么。
  • 这是基本的 foreach 循环:foreach($result as $key => $value){ //do some stuff with $value which now contains your row in an array where each //column is an index }
  • 列名是foreach循环中的key。

标签: php mysql multidimensional-array row multiple-columns


【解决方案1】:

要获得结果集的扁平数组,请尝试以下操作:

$result = array();

while ($row = mysql_fetch_assoc($results_result)) {
    $result[$row['id']] = $row;
}

echo json_encode($result);

此外,您应该查看 MySQLiPDO 以替换(现已弃用)MySQL 扩展。

【讨论】:

  • 我不确定什么是扁平数组。我可以使用类似 while ($row = mysql_fetch_assoc($results_result)) { $result[] = $row; } 然后为每个循环使用一个?即,foreach ($result as $a_row) { echo $a_row["0"]; }
  • 查看问题编辑以更好地描述我正在寻找的内容。
  • 如果你只是想输出数据,最好直接在while循环中完成。但是,如果您想将 MySQL 结果存储在一个变量中以便可以在其他地方使用它,那么使用 while 循环来构建该变量就可以了。
【解决方案2】:

如果使用 PDO,可以使用fetchAll() 方法:

$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

使用 mysql 或 mysqli,您使用循环:

$rows = array();
while ($row = $stmt->fetch_assoc()) {
    $rows[] = $row;
}

【讨论】:

    【解决方案3】:

    试试这个

    $i=0;
    while ($row = mysql_fetch_assoc($results_result)) {
    
     $result[$i]["column1"] = $row["column1"];
     $result[$i]["column2"] = $row["column2"];
     $i++;
    }
    

    显示输出使用:

    foreach ($result as $row) {
     echo $row["column1"];
     echo $row["column2"];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      • 2017-04-25
      相关资源
      最近更新 更多