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

DDD
發布: 2024-10-27 09:36:30
原創
202 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!