Xuất dữ liệu sang tệp CSV từ cơ sở dữ liệu MySQL bằng PHP;
Đôi khi chúng ta cần xuất dữ liệu vào cơ sở dữ liệu MySQL. Giải pháp tốt nhất để xuất dữ liệu vào cơ sở dữ liệu MySQL bằng tập lệnh PHP ở định dạng tệp CSV
Hướng dẫn này giúp bạn dễ dàng xuất dữ liệu vào bảng cơ sở dữ liệu MySQL trong tệp CSV bằng cách sử dụng tập lệnh PHP
Xuất tệp CSV bằng PHP và MySQL
Chỉ cần làm theo các bước dưới đây và dễ dàng xuất tệp csv vào cơ sở dữ liệu MySQL bằng tập lệnh [mã] PHP
- Bước 1 – Tạo tệp kết nối cơ sở dữ liệu
- Bước 2 – Xuất dữ liệu MySQL sang tệp CSV Mã PHP
Bước 1 – Tạo tệp kết nối cơ sở dữ liệu
Trong bước này, bạn sẽ tạo một tên tệp db. php và cập nhật mã bên dưới vào tệp của bạn
Đoạn mã dưới đây được sử dụng để tạo kết nối cơ sở dữ liệu MySQL trong PHP. Khi chúng tôi chèn dữ liệu biểu mẫu vào cơ sở dữ liệu MySQL, chúng tôi sẽ bao gồm tệp này
Bước 2 – Xuất dữ liệu MySQL sang tệp CSV Mã PHP
Ở bước này bạn cần tạo 1 tên file export. php và cập nhật mã bên dưới vào tệp của bạn
Đoạn mã dưới đây được sử dụng để lấy dữ liệu từ cơ sở dữ liệu MySQL và xuất nó thành tệp CSV hoặc tải xuống. Tên tệp mẫu là mẫu người dùng. csv
Phần kết luận
Trong hướng dẫn này, chúng ta đã học cách xuất dữ liệu vào cơ sở dữ liệu MySQL trong CSV bằng mã PHP
Đây là một ví dụ rất cơ bản và dễ dàng về xuất dữ liệu vào cơ sở dữ liệu MySQL trong tệp CSV bằng mã PHP
Dữ liệu ứng dụng web được lưu trữ, truy cập và trao đổi giữa các thành phần khác nhau bằng định dạng CSV. Định dạng tệp phổ biến nhất CSV [giá trị được phân tách bằng dấu phẩy] để lưu trữ dữ liệu ở dạng văn bản thuần túy
Bạn cũng có thể tham khảo các hướng dẫn khác về Xuất dữ liệu bằng PHP
- Xuất dữ liệu sang Excel bằng PHP và MySQL
- Xuất dữ liệu sang CSV và tải xuống bằng PHP và MySQL
- Nhập tệp CSV vào MySql bằng PHP
- Xuất dữ liệu bảng HTML sang Excel, CSV, PNG và PDF bằng Plugin jQuery
- Xuất dữ liệu jQuery Datatable sang PDF, Excel, CSV và Copy
Cách nhập và xuất dữ liệu CSV trong PHP
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách nhập và xuất dữ liệu từ cơ sở dữ liệu MySQL sang/từ tệp CSV bằng PHP. Tôi sẽ không tạo biểu mẫu HTML để tải tệp CSV lên, tôi sẽ cung cấp tập lệnh PHP sẽ tải và lưu dữ liệu tệp CSV vào PHP
Tạo kết nối cơ sở dữ liệu MySQL
Hãy tạo một Bảng nhân viên trong Cơ sở dữ liệu MySQL, bảng này sẽ sử dụng để nhập và xuất dữ liệu CSV vào cơ sở dữ liệu.
Câu SQL sau tạo bảng nhân viên với một số trường cơ bản trong cơ sở dữ liệu MySQL. Bảng nhân viên chứa thông tin nhân viên cần xuất.
SQL sau tạo bảng nhân viên với một số trường cơ bản trong cơ sở dữ liệu MySQL. Bảng nhân viên chứa thông tin nhân viên cần xuất
CREATE TABLE `employees` [ `id` int[11] NOT NULL AUTO_INCREMENT, `name` varchar[100] COLLATE utf8_unicode_ci NOT NULL, `age` int[11] NOT NULL, `salary` int[11] NOT NULL, PRIMARY KEY [`id`] ] ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Bây giờ, tôi sẽ tạo một kết nối. php và thêm đoạn mã dưới đây vào tệp này. Đoạn mã dưới đây giúp kết nối với cơ sở dữ liệu MySQL, Đồng thời sử dụng để chọn cơ sở dữ liệu bằng PHP và MySQL
//DB details $dbHost = 'localhost'; $dbUsername = 'root'; $dbPassword = '*'; $dbName = 'phpflow';//Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; //Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; if[$db->connect_error]{ die["Unable to connect database: " . $db->connect_error]; }
Xuất sang tệp CSV bằng PHP
Hãy xuất dữ liệu từ cơ sở dữ liệu bằng PHP và MySQL. Chúng tôi sẽ tạo tệp
0 và viết mã để lấy dữ liệu từ bảng nhân viên và lưu nó vào emp. tệp csv. Chúng tôi sẽ lưu trữ tất cả dữ liệu đã xuất của nhân viên vào tệp
1
File này sẽ có các bước sau để xuất dữ liệu vào MySQL
- Lấy dữ liệu từ bảng nhân viên
- Mở tệp bằng hàm
- Xác định các cột tiêu đề và đặt chúng vào tệp CSV
- Đọc từng hàng một của dữ liệu và ghi vào con trỏ tệp
- Chúng tôi sẽ buộc trình duyệt tải xuống tệp CSV bằng cách sử dụng
Hãy thêm đoạn mã dưới đây vào tệp
0
query["SELECT * FROM employees ORDER BY id DESC"]; if[$query->num_rows > 0]{ $delimiter = ","; $filename = "employee.csv"; //create a file pointer for write $f = fopen['php://memory', 'w']; //set column headers $fields = array['ID', 'Name', 'Age', 'Salary']; fputcsv[$f, $fields, $delimiter]; //write to file while[$row = $query->fetch_assoc[]]{ $lineData = array[$row['id'], $row['name'], $row['age'], $row['salary']]; fputcsv[$f, $lineData, $delimiter]; } fseek[$f, 0]; //set headers to download file header['Content-Type: text/csv']; header['Content-Disposition: attachment; filename="' . $filename . '";']; fpassthru[$f]; } exit;
Nhập dữ liệu CSV vào Cơ sở dữ liệu MySQL
Hãy nhập dữ liệu tệp
6 vào cơ sở dữ liệu MySQL. Tôi sẽ sử dụng bảng nhân viên để chèn dữ liệu từ tệp CSV. Tạo tệp
//DB details $dbHost = 'localhost'; $dbUsername = 'root'; $dbPassword = '*'; $dbName = 'phpflow';//Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; //Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; if[$db->connect_error]{ die["Unable to connect database: " . $db->connect_error]; }0 và thêm mã bên dưới
Tôi giả sử bạn có biểu mẫu HTML tải lên tệp và muốn tạo tập lệnh để lưu trữ dữ liệu tệp CSV vào cơ sở dữ liệu MySQL
File này sẽ có các bước sau để xuất dữ liệu vào MySQL
- Tạo con trỏ tệp đã đọc bằng hàm
- Phân tích từng dòng dữ liệu tệp CSV bằng hàm
//DB details $dbHost = 'localhost'; $dbUsername = 'root'; $dbPassword = '*'; $dbName = 'phpflow';//Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; //Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; if[$db->connect_error]{ die["Unable to connect database: " . $db->connect_error]; }
2 - Đã chèn dữ liệu CSV vào bảng nhân viên
Dữ liệu CSV được lưu trữ trong bộ nhớ bằng phương pháp
//DB details $dbHost = 'localhost'; $dbUsername = 'root'; $dbPassword = '*'; $dbName = 'phpflow';//Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; //Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; if[$db->connect_error]{ die["Unable to connect database: " . $db->connect_error]; }2. Vòng lặp while dùng để lưu dữ liệu vào biến
//DB details $dbHost = 'localhost'; $dbUsername = 'root'; $dbPassword = '*'; $dbName = 'phpflow';//Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; //Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; if[$db->connect_error]{ die["Unable to connect database: " . $db->connect_error]; }4. Sau khi quá trình hoàn tất, dữ liệu được sắp xếp theo cột và chèn vào bảng
//DB details $dbHost = 'localhost'; $dbUsername = 'root'; $dbPassword = '*'; $dbName = 'phpflow';//Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; //Create connection and select DB $db = new mysqli[$dbHost, $dbUsername, $dbPassword, $dbName]; if[$db->connect_error]{ die["Unable to connect database: " . $db->connect_error]; }5