Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens des résultats doubles lors de la récupération avec des instructions préparées par PDO ?

Pourquoi est-ce que j'obtiens des résultats doubles lors de la récupération avec des instructions préparées par PDO ?

Patricia Arquette
Libérer: 2024-11-02 17:49:28
original
447 Les gens l'ont consulté

Why am I Getting Double Results When Fetching with PDO Prepared Statements?

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";
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal