Maison >base de données >tutoriel mysql >Pourquoi mon « mysql_fetch_array » renvoie-t-il des données en double ?

Pourquoi mon « mysql_fetch_array » renvoie-t-il des données en double ?

DDD
DDDoriginal
2024-10-31 07:54:30442parcourir

Why is my `mysql_fetch_array` returning duplicate data?

Résultats doubles avec mysql_fetch_array

Dans le code fourni, vous exécutez une requête pour récupérer les données du personnel en fonction d'un identifiant et renvoyez le résultat sous la forme un tableau associatif. Cependant, lorsque vous parcourez le tableau et imprimez ses valeurs, vous rencontrez des données en double.

En effet, mysql_fetch_array récupère à la fois les clés associatives et numériques par défaut. Chaque paire clé-valeur est affichée deux fois, ce qui conduit à la sortie doublée que vous observez.

Solution :

Pour récupérer uniquement les clés associatives, utilisez mysql_fetch_assoc au lieu de mysql_fetch_array. En faisant cela, vous limiterez le tableau renvoyé à contenir uniquement des clés associatives, faisant correspondre les noms de colonnes aux valeurs respectives. Cela résoudra le problème de double sortie :

<code class="php">$query_result_array = mysql_fetch_assoc($query_result);</code>

Vous pouvez également spécifier le deuxième paramètre de mysql_fetch_array pour récupérer uniquement des clés associatives ou numériques :

<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>

En utilisant mysql_fetch_assoc ou en définissant le deuxième paramètre de manière appropriée, vous pouvez éliminer les données en double et obtenir une seule instance de chaque valeur dans le tableau associatif.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn