Подготовленный оператор PDO извлекает двойные результаты
Пользователь столкнулся с проблемой, когда его подготовленный оператор PDO возвращает двойные результаты при выводе данных в CSV-файл. Рассматриваемый код использует функцию $result_get_rows->fetch() для извлечения строк из базы данных.
Понимание метода Fetch()
Функция fetch() Метод объекта PDOStatement используется для извлечения строк из набора результатов. По умолчанию он возвращает строки как индексированные массивы (по номеру столбца), так и ассоциативные массивы (по имени столбца).
Решение проблемы
Чтобы исправить двойные результаты , рекомендуется указать, как должны возвращаться строки результатов, с помощью параметра fetch_style метода fetch(). Этот параметр принимает одну из следующих констант:
Модифицированный код
Используя PDO::FETCH_ASSOC, код можно изменить следующим образом:
while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC)) {
$csv .= '"'.join('","', str_replace('"', '""', $rows_get_rows))."\"\n";
}
Эта модификация гарантирует, что строки будут возвращаться в виде ассоциативных массивов, эффективно предотвращая дублирование значений при выводе в файл CSV.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3