Maison >base de données >tutoriel mysql >Pourquoi mon tableau de récupération MySQLi entraîne-t-il une sortie doublée ?

Pourquoi mon tableau de récupération MySQLi entraîne-t-il une sortie doublée ?

DDD
DDDoriginal
2024-10-29 05:35:311098parcourir

Why Does My MySQLi Fetch Array Result in Doubled Output?

Double résultats dans le tableau (MySQLi Fetch Array)

Problème

L'exécution du code suivant :

<code class="php">$table = get_personel_table(1);

function get_personel_table($id) {
    global $connection;
    $query = "SELECT * FROM employees WHERE id=$id ORDER BY id ASC";
    $query_result = mysqli_query($connection, $query);
    confirm_query($query_result);
    $query_result_array = mysqli_fetch_array($query_result);
    return $query_result_array; // returns associative array!
}

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

aboutit à sortie doublée, telle que :

1 1   1   1   jordan  jordan  9108121544  9108121544  testEmail   testEmail   testAddress testAddress testCounty  testCounty

Solution

Le comportement par défaut de mysqli_fetch_array est de renvoyer des index associatifs et numériques pour la ligne de résultat. Ceci n’est pas souhaitable dans la situation donnée. Pour limiter les clés renvoyées, vous pouvez utiliser le deuxième paramètre de la fonction :

<code class="php">$query_result_array = mysqli_fetch_array($query_result, MYSQLI_NUM); // numeric keys only
$query_result_array = mysqli_fetch_array($query_result, MYSQLI_ASSOC); // associative keys only</code>

Alternativement, vous pouvez utiliser les fonctions suivantes :

<code class="php">$query_result_array = mysqli_fetch_row($query_result); // numeric keys only
$query_result_array = mysqli_fetch_assoc($query_result); // associative keys only</code>

En utilisant uniquement des touches numériques ou associatives , vous pouvez éliminer la duplication des données dans la sortie.

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