使用 mysql_fetch_array 在數組中出現雙倍結果
使用 mysql_fetch_array 從 MySQL 資料庫檢索資料時,可能會遇到雙倍結果。發生這種情況是因為預設情況下,mysql_fetch_array 會傳回陣列中每一行的關聯索引和數字索引。
考慮以下程式碼:
<code class="php">$query_result_array = mysql_fetch_array($query_result);</code>
在此範例中,$query_result_array 將包含數字和關聯索引。因此,在迭代數組時,您將得到雙重輸出:
<code class="php">foreach($table as $table_var) { echo "<td>" . $table_var . "</td>"; } </code>
為了避免這種情況,您可以使用mysql_fetch_array 的第二個參數來限制傳回的索引類型:
<code class="php">// Numeric keys only $query_result_array = mysql_fetch_array($query_result, MYSQL_NUM); // Associative keys only $query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC);</code>
或者,您可以使用mysql_fetch_row 和mysql_fetch_assoc 函數分別只檢索數字或關聯鍵:
<code class="php">// Numeric keys only $query_result_array = mysql_fetch_row($query_result); // Associative keys only $query_result_array = mysql_fetch_assoc($query_result);</code>
透過使用這些技術,您可以確保陣列僅包含所需類型的索引,防止迭代時結果加倍。
以上是為什麼使用「mysql_fetch_array」時會得到雙倍的結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!