冗餘 mysqli_fetch_array() 呼叫:常見陷阱
多次存取資料庫查詢的結果可能是一項具有挑戰性的任務。一種常見的方法涉及使用 mysqli_fetch_array(),該函數從結果集中檢索一行並將遊標前進到下一行。然而,透過 mysqli_fetch_array() 多次使用相同的結果集可能會遇到限制。
範例程式碼嘗試使用資料庫中的資料填充表行和列,但面臨著無法被填入的問題。能夠透過 mysqli_fetch_array() 使用相同的結果集兩次。原因是每次呼叫 mysqli_fetch_array() 都會將遊標前進到下一行。
為了有效繞過此限制,建議將資料運算與輸出解耦。這意味著首先檢索資料並將其儲存到數組或資料結構中,然後根據需要使用它:
<code class="php">// Select and store data into an array $db_res = mysqli_query( $db_link, $sql ); $data = array(); while ($row = mysqli_fetch_assoc($db_res)) { $data[] = $row; } // Use the stored data multiple times // Top row foreach ($data as $row) {</code>
以上是為什麼多次使用「mysqli_fetch_array()」會導致結果集出現問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!