Instruction préparée PDO récupérant des résultats doubles
Un utilisateur a rencontré un problème où son instruction préparée PDO renvoie des résultats doubles lors de la sortie de données vers un Fichier CSV. Le code en question utilise la fonction $result_get_rows->fetch() pour récupérer les lignes de la base de données.
Comprendre la méthode Fetch()
La méthode fetch() La méthode d'un objet PDOStatement est utilisée pour récupérer les lignes d'un ensemble de résultats. Par défaut, il renvoie les lignes sous forme de tableaux indexés (par numéro de colonne) et de tableaux associatifs (par nom de colonne).
Résoudre le problème
Pour corriger les doubles résultats , il est recommandé de spécifier comment les lignes de résultats doivent être renvoyées à l'aide du paramètre fetch_style de la méthode fetch(). Ce paramètre accepte l'une des constantes suivantes :
Code modifié
En utilisant PDO::FETCH_ASSOC, le code peut être modifié comme suit :
while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC)) {
$csv .= '"'.join('","', str_replace('"', '""', $rows_get_rows))."\"\n";
}
Cette modification garantira que les lignes sont renvoyées sous forme de tableaux associatifs, empêchant ainsi la duplication des valeurs lors de la sortie vers le fichier CSV.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3