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