簡體   English   中英

如何將整個mysql_fetch_array結果存儲到數組中? 的PHP

[英]How to store entire mysql_fetch_array results into an array? PHP

我有一個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循環。 還有其他有效/更好的方法來避免循環嗎?

在第一個循環中,將所需的值存儲在數組中。

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM