如何将整个mysql_fetch_array结果存储到数组中? PHP

时间:2015-12-10 04:44:47

标签: php arrays

我有一个SQL查询,并使用;

检索结果
$result = mysql_query($query);

结果使用;

打印
while($row = mysql_fetch_array($result)){
    echo $row['column']."<br>";
}

我想将整个$row['column']存储到数组中。为此,上面的代码可以替换为;

$my_array[] = "";
while($row = mysql_fetch_array($result)){
    echo $row['column']."<br>";
    $my_array[] = $row['column'];
}

但是在这里,while循环被执行了。还有其他有效/更好的方法,避免循环吗?

1 个答案:

答案 0 :(得分:2)

在第一个循环中将所需的值存储在数组中。

while($row = mysql_fetch_array($result)){
    echo $row['column']."<br>";
    $my_array[] = $row['column'];
}

现在你不需要2个循环。 $my_array可供您随时随地使用

  

但是在这里,while循环再次执行

不,绝对不正确。这可以在1个循环调用中完成,循环不会再次执行。

  

但是在这里,while循环被执行了。还有其他有效/更好的方法,避免循环吗?

没有使用mysql_*但是没有使用mysqlipdo你只需一次调用就可以获取数组中的所有行而没有任何循环。

  

我怎样才能使用mysqli_ *将你的答案包括在内?

$link = mysqli_connect("localhost", "user", "password", "database");
$query = "SELECT column FROM yourTable";
$result = mysqli_query($link,$query);
$my_array = mysqli_fetch_all($result,MYSQLI_ASSOC);