我有一个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循环被执行了。还有其他有效/更好的方法,避免循环吗?
答案 0 :(得分:2)
在第一个循环中将所需的值存储在数组中。
while($row = mysql_fetch_array($result)){
echo $row['column']."<br>";
$my_array[] = $row['column'];
}
现在你不需要2个循环。 $my_array
可供您随时随地使用
但是在这里,while循环再次执行
不,绝对不正确。这可以在1个循环调用中完成,循环不会再次执行。
但是在这里,while循环被执行了。还有其他有效/更好的方法,避免循环吗?
没有使用mysql_*
但是没有使用mysqli
或pdo
你只需一次调用就可以获取数组中的所有行而没有任何循环。
我怎样才能使用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);