Чтобы экспортировать данные PHP MySQL в CSV через PHP, вы можете использовать несколько методов. Я представлю вам три часто используемых подхода вместе с примерами кода:
Метод 1: использование fputcsv()
<?php
// Establish a connection to MySQL
$host = 'localhost';
$username = 'your_username';
$password = 'your_password';
$database = 'your_database';
$conn = mysqli_connect($host, $username, $password, $database);
// Check the connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// Query the data from MySQL
$query = "SELECT * FROM your_table";
$result = mysqli_query($conn, $query);
// Create a file pointer for writing
$fp = fopen('data.csv', 'w');
// Write the column headers to the CSV file
$headers = array('Column 1', 'Column 2', 'Column 3');
fputcsv($fp, $headers);
// Write the data rows to the CSV file
while ($row = mysqli_fetch_assoc($result)) {
fputcsv($fp, $row);
}
// Close the file pointer and database connection
fclose($fp);
mysqli_close($conn);
echo 'Data exported successfully!';
?>
Метод 2: использование MySQL INTO OUTFILE
<?php
// Establish a connection to MySQL
$host = 'localhost';
$username = 'your_username';
$password = 'your_password';
$database = 'your_database';
$conn = mysqli_connect($host, $username, $password, $database);
// Check the connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// Query to export data to CSV
$query = "SELECT * INTO OUTFILE 'data.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
FROM your_table";
// Execute the query
mysqli_query($conn, $query);
// Close the database connection
mysqli_close($conn);
echo 'Data exported successfully!';
?>
<?php
// Include PHPExcel library
require_once 'PHPExcel/PHPExcel.php';
// Create a new PHPExcel object
$objPHPExcel = new PHPExcel();
// Establish a connection to MySQL
$host = 'localhost';
$username = 'your_username';
$password = 'your_password';
$database = 'your_database';
$conn = mysqli_connect($host, $username, $password, $database);
// Check the connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// Query the data from MySQL
$query = "SELECT * FROM your_table";
$result = mysqli_query($conn, $query);
// Set the worksheet name and headers
$objPHPExcel->getActiveSheet()->setTitle('Data');
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Column 1');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Column 2');
$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Column 3');
// Set the data rows
$row = 2;
while ($data = mysqli_fetch_assoc($result)) {
$objPHPExcel->getActiveSheet()->setCellValue('A' . $row, $data['column1']);
$objPHPExcel->getActiveSheet()->setCellValue('B' . $row, $data['column2']);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $row, $data['column3']);
$row++;
}
// Create a new Excel writer
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
// Save the CSV file
$objWriter->save('data.csv');
// Close the database connection
mysqli_close($conn);
echo 'Data exported successfully!';
?>