Maison > Article > base de données > Pourquoi ma déclaration préparée par PDO Fetch() renvoie-t-elle des résultats doubles ?
L'instruction préparée PDO Fetch() renvoie des résultats doubles
Lors de l'utilisation d'instructions préparées PDO, les résultats obtenus à partir de la méthode fetch() peuvent parfois semblent être dupliqués. Cela se produit lorsque les données souhaitées sont récupérées deux fois par ligne, ce qui entraîne deux fois le nombre de colonnes attendu dans la sortie.
Ce problème se produit lors de la récupération des données à l'aide du mode PDO::FETCH_BOTH par défaut, qui récupère les résultats. indexé à la fois par nom de colonne et par numéro de colonne. Pour éviter cette duplication, spécifiez un autre style de récupération, tel que :
En utilisant l'une ou l'autre de ces méthodes, récupérez modes, vous pouvez récupérer le nombre correct de colonnes pour chaque ligne, garantissant que le résultat s'affiche comme prévu.
Voici un exemple d'utilisation de PDO::FETCH_ASSOC :
while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC)) { $csv .= '"' . join('","', str_replace('"', '""', $rows_get_rows)) . "\"\n"; }
Ce code récupérera les données sous forme de tableau associatif, éliminant les colonnes en double.
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!