Làm cách nào để nhập và xuất tệp csv bằng php và MySQL?

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

 0) {
	    while ($row = mysqli_fetch_assoc($result)) {
	        $users[] = $row;
	    }
	}

	header('Content-Type: text/csv; charset=utf-8');
	header('Content-Disposition: attachment; filename=users-sample.csv');
	$output = fopen('php://output', 'w');
	fputcsv($output, array('No', 'Name', 'Mobile', 'Email'));

	if (count($users) > 0) {
	    foreach ($users as $row) {
	        fputcsv($output, $row);
	    }
	}
?>

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

Liên kết được tài trợ
//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) {
	    while ($row = mysqli_fetch_assoc($result)) {
	        $users[] = $row;
	    }
	}

	header('Content-Type: text/csv; charset=utf-8');
	header('Content-Disposition: attachment; filename=users-sample.csv');
	$output = fopen('php://output', 'w');
	fputcsv($output, array('No', 'Name', 'Mobile', 'Email'));

	if (count($users) > 0) {
	    foreach ($users as $row) {
	        fputcsv($output, $row);
	    }
	}
?>
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
 0) {
	    while ($row = mysqli_fetch_assoc($result)) {
	        $users[] = $row;
	    }
	}

	header('Content-Type: text/csv; charset=utf-8');
	header('Content-Disposition: attachment; filename=users-sample.csv');
	$output = fopen('php://output', 'w');
	fputcsv($output, array('No', 'Name', 'Mobile', 'Email'));

	if (count($users) > 0) {
	    foreach ($users as $row) {
	        fputcsv($output, $row);
	    }
	}
?>
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
     0) {
    	    while ($row = mysqli_fetch_assoc($result)) {
    	        $users[] = $row;
    	    }
    	}
    
    	header('Content-Type: text/csv; charset=utf-8');
    	header('Content-Disposition: attachment; filename=users-sample.csv');
    	$output = fopen('php://output', 'w');
    	fputcsv($output, array('No', 'Name', 'Mobile', 'Email'));
    
    	if (count($users) > 0) {
    	    foreach ($users as $row) {
    	        fputcsv($output, $row);
    	    }
    	}
    ?>
    
    2
  • 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
     0) {
    	    while ($row = mysqli_fetch_assoc($result)) {
    	        $users[] = $row;
    	    }
    	}
    
    	header('Content-Type: text/csv; charset=utf-8');
    	header('Content-Disposition: attachment; filename=users-sample.csv');
    	$output = fopen('php://output', 'w');
    	fputcsv($output, array('No', 'Name', 'Mobile', 'Email'));
    
    	if (count($users) > 0) {
    	    foreach ($users as $row) {
    	        fputcsv($output, $row);
    	    }
    	}
    ?>
    
    3 và
     0) {
    	    while ($row = mysqli_fetch_assoc($result)) {
    	        $users[] = $row;
    	    }
    	}
    
    	header('Content-Type: text/csv; charset=utf-8');
    	header('Content-Disposition: attachment; filename=users-sample.csv');
    	$output = fopen('php://output', 'w');
    	fputcsv($output, array('No', 'Name', 'Mobile', 'Email'));
    
    	if (count($users) > 0) {
    	    foreach ($users as $row) {
    	        fputcsv($output, $row);
    	    }
    	}
    ?>
    
    4

Hãy thêm đoạn mã dưới đây vào tệp

 0) {
	    while ($row = mysqli_fetch_assoc($result)) {
	        $users[] = $row;
	    }
	}

	header('Content-Type: text/csv; charset=utf-8');
	header('Content-Disposition: attachment; filename=users-sample.csv');
	$output = fopen('php://output', 'w');
	fputcsv($output, array('No', 'Name', 'Mobile', 'Email'));

	if (count($users) > 0) {
	    foreach ($users as $row) {
	        fputcsv($output, $row);
	    }
	}
?>
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

 0) {
	    while ($row = mysqli_fetch_assoc($result)) {
	        $users[] = $row;
	    }
	}

	header('Content-Type: text/csv; charset=utf-8');
	header('Content-Disposition: attachment; filename=users-sample.csv');
	$output = fopen('php://output', 'w');
	fputcsv($output, array('No', 'Name', 'Mobile', 'Email'));

	if (count($users) > 0) {
	    foreach ($users as $row) {
	        fputcsv($output, $row);
	    }
	}
?>
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
     0) {
    	    while ($row = mysqli_fetch_assoc($result)) {
    	        $users[] = $row;
    	    }
    	}
    
    	header('Content-Type: text/csv; charset=utf-8');
    	header('Content-Disposition: attachment; filename=users-sample.csv');
    	$output = fopen('php://output', 'w');
    	fputcsv($output, array('No', 'Name', 'Mobile', 'Email'));
    
    	if (count($users) > 0) {
    	    foreach ($users as $row) {
    	        fputcsv($output, $row);
    	    }
    	}
    ?>
    
    2
  • 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

Làm cách nào để nhập tệp CSV vào cơ sở dữ liệu MySQL bằng php?

Cú pháp với Step by Step. .
Tạo kết nối tới cơ sở dữ liệu.
Lấy tệp CSV bằng chức năng fopen. Nó được sử dụng để mở một tập tin. fopen(tên tệp, chế độ, đường dẫn bao gồm, ngữ cảnh) Tại đây. .
Nhận tệp CSV. Chúng tôi có thể lấy tệp CSV bằng hàm fgetcsv()
truy vấn cơ sở dữ liệu

Làm cách nào để xuất dữ liệu sang tệp CSV bằng php và MySQL?

Xuất dữ liệu sang tệp CSV bằng PHP (exportData. .
Lấy dữ liệu từ cơ sở dữ liệu MySQL
Tạo con trỏ tệp bằng hàm fopen()
Chỉ định các cột tiêu đề và đưa dữ liệu vào tệp CSV
Xuất từng hàng dữ liệu, định dạng dòng dưới dạng CSV và ghi vào con trỏ tệp

Làm cách nào để xuất tệp CSV trong php?

Làm cách nào để xuất dữ liệu sang CSV? .
Bước 1. Tạo tiêu đề. .
Bước 2. Buộc bộ đệm đầu ra xuất CSV với một tên tệp cụ thể. .
Bước 3. Tạo một tệp bằng PHP. .
Bước 4. Dọn dẹp bộ đệm đầu ra. .
Bước 5. Viết tiêu đề vào tệp CSV. .
Bước 6. Viết nội dung thực tế vào Tệp CSV

Làm cách nào để xuất tệp CSV từ cơ sở dữ liệu MySQL?

Xuất bảng sang định dạng CSV bằng MySQL Workbench .
Chạy câu lệnh/truy vấn và nhận tập kết quả của nó
Sau đó, trong bảng kết quả, nhấp vào tùy chọn "xuất bản ghi sang tệp bên ngoài". Recordset được sử dụng cho tập kết quả
Cuối cùng, một hộp thoại mới sẽ được hiển thị. Ở đây, chúng tôi cần cung cấp tên tệp và định dạng của nó