Maison >développement back-end >tutoriel php >Pourquoi toutes les colonnes sont-elles renvoyées sous la forme d'une seule concaténation lors de l'utilisation de mysqli_fetch_array dans une boucle while ?
mysqli_fetch_array Problèmes de colonne de boucle While
Lors de l'itération sur une requête MySQL à l'aide de la fonction mysqli_fetch_array, vous pouvez rencontrer un scénario dans lequel toutes les colonnes sont renvoyées comme une simple concaténation plutôt que des éléments séparés.
Pour résoudre ce problème, créez un tableau pour stocker les lignes récupérées de la boucle mysqli_fetch_array :
<code class="php">$posts = array(); while ($row = mysqli_fetch_array($result)) { $posts[] = $row; }</code>
Maintenant, chaque élément du tableau $posts sera un tableau contenant les colonnes individuelles :
<code class="php">$posts[0]['post_id'] // Returns the value of post_id $posts[0]['post_title'] // Returns the value of post_title</code>
Si vous avez besoin de toutes les valeurs de colonnes sous la forme d'une seule chaîne, vous pouvez y parvenir en utilisant :
<code class="php">$fullRow = $row[0] . $row[1] . $row[2];</code>
Cependant, cela entraînera une chaîne concaténée plutôt que des éléments séparés. Pour un accès individuel à chaque colonne, la solution basée sur les tableaux est recommandée.
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!