Maison >base de données >tutoriel mysql >Pourquoi ma déclaration préparée PDO fetch() renvoie-t-elle des résultats doubles ?

Pourquoi ma déclaration préparée PDO fetch() renvoie-t-elle des résultats doubles ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 03:15:01276parcourir

Why is My PDO Prepared Statement fetch() Returning Double Results?

PDO Prepared Statement fetch() renvoie des résultats doubles

Vous n'êtes pas le seul développeur à avoir rencontré des résultats inattendus lors de l'utilisation d'instructions préparées PDO avec la méthode fetch(). Pour résoudre ce problème, vous devez comprendre comment fetch() se comporte avec différents styles de récupération.

Par défaut, fetch() renvoie à la fois un tableau associatif (indexé par nom de colonne) et un tableau numérique (indexé par nom de colonne). nombre). Dans votre cas, cela signifie que chaque colonne de chaque ligne du tableau est répétée deux fois.

Pour éviter cela, vous devez spécifier un style de récupération spécifique lors de l'appel de fetch(). Vous pouvez le faire en passant l'une des constantes PDO::FETCH_* comme deuxième argument de la méthode fetch().

Tableau associatif uniquement :

<code class="php">while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC)) {
    // Your code here
}</code>

Tableau numérique uniquement :

<code class="php">while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_NUM)) {
    // Your code here
}</code>

En spécifiant le style de récupération, vous pouvez contrôler la façon dont les données sont renvoyées par fetch() et empêcher toute duplication indésirable.

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