ホームページ  >  記事  >  データベース  >  `mysql_fetch_array` が重複したデータを返すのはなぜですか?

`mysql_fetch_array` が重複したデータを返すのはなぜですか?

DDD
DDDオリジナル
2024-10-31 07:54:30345ブラウズ

Why is my `mysql_fetch_array` returning duplicate data?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。