Problèmes PDO avec les instructions préparées récupérant des résultats doubles
Lors de l'utilisation d'un script pour exporter des données vers un fichier CSV, vous pouvez rencontrer un problème où plusieurs copies de données sont affichées au lieu de la seule ligne souhaitée. Ce problème devient évident lorsque vous travaillez avec des instructions préparées par PDO, et il peut être difficile de comprendre pourquoi il se produit.
Pour résoudre ce problème, il est crucial de spécifier le format souhaité pour le résultat renvoyé. Par défaut, PDO utilise le mode FETCH_BOTH, qui renvoie un tableau avec à la fois les noms de colonnes et les numéros de colonnes indexés 0. Dans votre cas, vous souhaitez récupérer uniquement un tableau associatif, qui est indexé par nom de colonne.
Pour remédier à cette situation, modifiez simplement votre code en précisant le mode de récupération souhaité :
while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC)) { $csv .= '"'.join('","', str_replace('"', '""', $rows_get_rows))."\"\n"; }
Alternativement, si vous préférez un tableau indexé numériquement, vous pouvez utiliser PDO::FETCH_NUM à la place.
L'option que vous choisissez déterminera le format du résultat renvoyé, garantissant que vous recevez les données dans la structure souhaitée pour votre exportation CSV.
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!