从 MySQL 查询中获取行数组?

Get an array of rows from a MySQL query?

我有这个代码...

$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"];
}

要获得结果集的扁平数组,试试这个:

$result = array();

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

echo json_encode($result);

此外,您应该研究 MySQLi or PDO 以替换(现已弃用)MySQL 扩展名。

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

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

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

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

试试这个

$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"];
}