Instrução preparada PDO buscando resultados duplos
Um usuário encontrou um problema em que sua instrução preparada PDO estava retornando resultados duplos ao enviar dados para um Arquivo CSV. O código em questão utiliza a função $result_get_rows->fetch() para recuperar as linhas do banco de dados.
Compreendendo o método Fetch()
O fetch() O método de um objeto PDOStatement é usado para recuperar linhas de um conjunto de resultados. Por padrão, ele retorna linhas como matrizes indexadas (por número de coluna) e matrizes associativas (por nome de coluna).
Resolvendo o problema
Para corrigir os resultados duplos , é recomendado especificar como as linhas de resultados devem ser retornadas usando o parâmetro fetch_style do método fetch(). Este parâmetro aceita uma das seguintes constantes:
Código modificado
Ao usar PDO::FETCH_ASSOC, o código pode ser modificado da seguinte forma:
while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC)) {
$csv .= '"'.join('","', str_replace('"', '""', $rows_get_rows))."\"\n";
}
Esta modificação garantirá que as linhas sejam retornadas como matrizes associativas, evitando efetivamente a duplicação de valores ao enviar para o arquivo CSV.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3