Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens des résultats doublés lorsque j'utilise `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!