Maison  >  Article  >  base de données  >  Pourquoi est-ce que j'obtiens des résultats doublés lorsque j'utilise `mysql_fetch_array` ?

Pourquoi est-ce que j'obtiens des résultats doublés lorsque j'utilise `mysql_fetch_array` ?

DDD
DDDoriginal
2024-10-27 09:36:30203parcourir

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

Résultats doublés dans les tableaux à l'aide de mysql_fetch_array

Lors de la récupération de données d'une base de données MySQL à l'aide de mysql_fetch_array, il est possible de rencontrer des résultats doublés. Cela se produit car par défaut, mysql_fetch_array renvoie à la fois des index associatifs et numériques pour chaque ligne du tableau.

Considérez le code suivant :

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

Dans cet exemple, $query_result_array contiendra à la fois des index numériques. et index associatifs. Par conséquent, vous obtiendrez une double sortie lors de l'itération sur le tableau :

<code class="php">foreach($table as $table_var)
{
    echo "<td>" . $table_var . "</td>";
} </code>

Pour éviter cela, vous pouvez limiter le type d'index renvoyé en utilisant le deuxième paramètre de 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>

Vous pouvez également utiliser les fonctions mysql_fetch_row et mysql_fetch_assoc pour récupérer respectivement uniquement les clés numériques ou associatives :

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

En utilisant ces techniques, vous pouvez vous assurer que vos tableaux contiennent uniquement le type d'index souhaité. , empêchant les résultats doublés lors de l'itération.

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