Как сохранить данные из mysql в csv через php?

Пользователь

от kaleigh , в категории: PHP , 2 года назад

Как сохранить данные из mysql в csv через php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeromy_ruecker , 2 года назад

@kaleigh 

Чтобы сохранить данные из MySQL в CSV файл через PHP, вы можете использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Устанавливаем соединение с базой данных
$conn = mysqli_connect("localhost", "username", "password", "database");

// Проверяем соединение
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// Выбираем данные из таблицы
$sql = "SELECT * FROM table_name";
$result = mysqli_query($conn, $sql);

// Создаем временный файл для записи данных
$csv_file = tempnam(sys_get_temp_dir(), "csv");

// Открываем временный файл для записи данных
$handle = fopen($csv_file, "w");

// Записываем заголовки столбцов в файл
$fields = mysqli_fetch_fields($result);
$headers = array_map(function($field) {
    return $field->name;
}, $fields);
fputcsv($handle, $headers);

// Записываем данные в файл
while ($row = mysqli_fetch_assoc($result)) {
    fputcsv($handle, $row);
}

// Закрываем файл и освобождаем ресурсы
fclose($handle);
mysqli_free_result($result);
mysqli_close($conn);

// Отдаем файл для скачивания
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="file.csv";');
readfile($csv_file);

// Удаляем временный файл
unlink($csv_file);


В этом коде мы устанавливаем соединение с базой данных, выбираем данные из таблицы, создаем временный файл для записи данных, записываем данные в CSV формат, закрываем файл и освобождаем ресурсы, отдаем файл для скачивания и удаляем временный файл.

Пользователь

от willis.streich , год назад

@kaleigh 

Пожалуйста, убедитесь, что заменили 'localhost', 'username', 'password' и 'database' на соответствующие значения для вашей базы данных MySQL, а также замените 'table_name' на имя конкретной таблицы, из которой вы хотите сохранить данные.


Данный код сохранит данные из базы данных MySQL в CSV файл и предложит его скачать пользователю.