mysql_fetch_array で結果を倍増させます
提供されたコードでは、ID に基づいて人事データをフェッチするクエリを実行し、結果を次のように返します。連想配列。ただし、配列を反復処理してその値を出力すると、重複データが発生します。
これは、mysql_fetch_array がデフォルトで連想キーと数値キーの両方を取得するためです。各キーと値のペアが 2 回表示され、出力が 2 倍になります。
解決策:
連想キーのみを取得するには、mysql_fetch_array の代わりに mysql_fetch_assoc を使用します。これを行うと、返される配列に連想キーのみが含まれるように制限され、列名とそれぞれの値が一致します。これにより、二重出力の問題が解決されます。
<code class="php">$query_result_array = mysql_fetch_assoc($query_result);</code>
または、mysql_fetch_array の 2 番目のパラメータを指定して、連想キーまたは数値キーのみを取得できます。
<code class="php">$query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC); // associative keys only $query_result_array = mysql_fetch_array($query_result, MYSQL_NUM); // numeric keys only</code>
mysql_fetch_assoc または設定を使用することにより、 2 番目のパラメーターを適切に指定すると、重複データを削除し、連想配列内の各値の単一インスタンスを取得できます。
以上が`mysql_fetch_array` が重複したデータを返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。