首頁  >  文章  >  資料庫  >  為什麼使用「mysql_fetch_array」時會得到雙倍的結果?

為什麼使用「mysql_fetch_array」時會得到雙倍的結果?

DDD
DDD原創
2024-10-27 09:36:30203瀏覽

Why do I get doubled results when using `mysql_fetch_array`?

使用 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn