Trong bài viết này, chúng tôi sẽ lưu trữ dữ liệu có trong tệp CSV vào cơ sở dữ liệu MySQL bằng PHP trong máy chủ XAMPP và hiển thị dữ liệu trên trình duyệt web Giá trị được phân tách bằng dấu phẩy (CSV) là tệp văn bản chứa nội dung dữ liệu. Nó tạo điều kiện cho việc lưu trữ dữ liệu trong một bảng giống như cấu trúc. Tệp CSV được lưu trữ với tiện ích mở rộng CSV. Có thể tạo tệp CSV bằng cách sử dụng bất kỳ trình soạn thảo văn bản nào, chẳng hạn như notepad , notepad++ , etc. After adding content to a text file in the notepad, store it as a csv file with the use of . tiện ích mở rộng csv . Yêu cầu. Máy chủ XAMPP bước - Tạo kết nối tới cơ sở dữ liệu
- Tải CSV
- Thực hiện Truy vấn và xác minh kết quả
Cú pháp với Step by Step 1. Tạo kết nối tới cơ sở dữ liệu $db=new mysqli('tên máy chủ','tên người dùng','mật khẩu','tên cơ sở dữ liệu'); nếu ($db->connect_errno) { tiếng vang "Không thành công". $db->connect_error; lối ra(); } ?> Ở đây, Tên máy chủ là localhost, tên người dùng là mặc định người dùng của bạn là root, mật khẩu mặc định trống. tên cơ sở dữ liệu là tên của cơ sở dữ liệu của bạn
2. 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) Nơi đây tên tệp được sử dụng để chỉ định tệp hoặc URL để mở mode là Chỉ định loại quyền truy cập mà bạn yêu cầu đối với tệp/luồng
3. Nhận tệp CSV. Chúng tôi có thể lấy tệp CSV bằng hàm fgetcsv() 4. truy vấn cơ sở dữ liệu Bây giờ chúng ta có thể viết truy vấn cơ sở dữ liệu để chèn dữ liệu $db->query(‘INSERT INTO table VALUES (“‘. $row[0]. '”, “‘. $row[1]. '”, “‘. $row[2]. ‘”. . . “‘. $row[n]. ‘”)’); Truy vấn được sử dụng để nhận truy vấn hàng [n] đại diện cho số lượng hàng sẽ được thực hiện để tải
Quá trình tạo cơ sở dữ liệu và bảng 1. Xem xét tệp CSV có tên chi tiết. csv 2. Mở XAMPP và bắt đầu dịch vụ MySQL, Apache 3. Nhập “http. //localhost/phpmyadmin/” trong trình duyệt của bạn 4. Nhấp vào mới và tạo cơ sở dữ liệu có tên là gfg 5. Tạo bảng với tên “table2” Các bước thực hiện 1. chi tiết cửa hàng. csv và chỉ mục. php trong một thư mục theo đường dẫn “C. \xampp\htdocs\gfg” 2. mở chỉ mục. php và nhập mã được cung cấp bên dưới PHP
<?php
________số 8 // Localhost is the server name,
<form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 0<form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 1<form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 2<form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 3 <form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 4<form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 5 0_______71 2 3 2 5 2 7 8 Chào mừng bạn đến với hướng dẫn nhanh về cách nhập tệp CSV vào cơ sở dữ liệu MYSQL trong PHP. Bạn muốn cho phép quản trị viên tải tập hợp dữ liệu của riêng họ vào cơ sở dữ liệu? ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào TLDR – TRANG TRÌNH BÀY NHANHTải xuống & Ghi chúNhập CSVBit bổ sung & liên kếtVideo hướng dẫnKết thúc TẢI XUỐNG & LƯU ÝĐầu tiên, đây là liên kết tải xuống mã nguồn ví dụ như đã hứa GHI CHÚ NHANH- Tạo cơ sở dữ liệu thử nghiệm và nhập
<form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 5 - Thay đổi cài đặt cơ sở dữ liệu trong
<form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 6 thành cài đặt của riêng bạn - Truy cập
<form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 7 trong trình duyệt và tải lên <form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 8 Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình MÃ VÍ DỤ TẢI XUỐNGNhấp vào đây để tải xuống mã nguồn, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn hoặc sử dụng nó trong dự án của riêng bạn NHẬP CSV VÀO CƠ SỞ DỮ LIỆU MYSQLĐược rồi, bây giờ chúng ta hãy đi vào ví dụ về cách nhập tệp CSV trong PHP và MySQL BƯỚC 1) CƠ SỞ DỮ LIỆU GIẢ & CSV1A) BẢNG NGƯỜI DÙNGngười dùng 1a. sql CREATE TABLE `users` (
`user_id` bigint(20) NOT NULL,
`user_email` varchar(255) NOT NULL,
`user_name` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `users`
ADD PRIMARY KEY (`user_id`),
ADD UNIQUE KEY `user_email` (`user_email`),
ADD KEY `user_name` (`user_name`);
ALTER TABLE `users`
MODIFY `user_id` bigint(20) NOT NULL AUTO_INCREMENT;
Trong ví dụ này, chúng tôi sẽ làm việc với bảng người dùng giả này. Rất đơn giản chỉ với 3 trường – <form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 9 ID, khóa chính<?php
// (A) CONNECT TO DATABASE - CHANGE SETTINGS TO YOUR OWN!
$dbHost = "localhost";
$dbName = "test";
$dbChar = "utf8";
$dbUser = "root";
$dbPass = "";
try {
$pdo = new PDO(
"mysql:host=".$dbHost.";dbname=".$dbName.";charset=".$dbChar,
$dbUser, $dbPass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
} catch (Exception $ex) { exit($ex->getMessage()); }
// (B) READ UPLOADED CSV
$fh = fopen($_FILES["upcsv"]["tmp_name"], "r");
if ($fh === false) { exit("Failed to open uploaded CSV file"); }
// (C) IMPORT ROW BY ROW
while (($row = fgetcsv($fh)) !== false) {
try {
// print_r($row);
$stmt = $pdo->prepare("INSERT INTO `users` (`user_email`, `user_name`) VALUES (?,?)");
$stmt->execute([$row[0], $row[1]]);
} catch (Exception $ex) { echo $ex->getmessage(); }
}
fclose($fh);
echo "DONE."; 0 Email của người dùng<form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form> 0 Tên người dùng
1B) CSV NGƯỜI DÙNGjane@doe. com Jane Doe Joe@doe. comJoe Doe John@doe. comJohn DoeĐúng rồi. Chỉ toàn bộ email và tên của người dùng BƯỚC 2) TẢI LÊN TỆP CSV2-tải lên. html <form action="3-import.php" method="post" enctype="multipart/form-data">
<input type="file" name="upcsv" accept=".csv" required>
<input type="submit" value="Upload">
</form>
Tiếp theo, chúng tôi có một biểu mẫu tải lên tệp HTML đơn giản chỉ chấp nhận tệp CSV BƯỚC 3) PHP NHẬP CSV VÀO MYSQL3-nhập khẩu. php <?php
// (A) CONNECT TO DATABASE - CHANGE SETTINGS TO YOUR OWN!
$dbHost = "localhost";
$dbName = "test";
$dbChar = "utf8";
$dbUser = "root";
$dbPass = "";
try {
$pdo = new PDO(
"mysql:host=".$dbHost.";dbname=".$dbName.";charset=".$dbChar,
$dbUser, $dbPass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
} catch (Exception $ex) { exit($ex->getMessage()); }
// (B) READ UPLOADED CSV
$fh = fopen($_FILES["upcsv"]["tmp_name"], "r");
if ($fh === false) { exit("Failed to open uploaded CSV file"); }
// (C) IMPORT ROW BY ROW
while (($row = fgetcsv($fh)) !== false) {
try {
// print_r($row);
$stmt = $pdo->prepare("INSERT INTO `users` (`user_email`, `user_name`) VALUES (?,?)");
$stmt->execute([$row[0], $row[1]]);
} catch (Exception $ex) { echo $ex->getmessage(); }
}
fclose($fh);
echo "DONE.";
Cuối cùng, tập lệnh PHP để nhập tệp CSV đã tải lên - Kết nối với cơ sở dữ liệu. Hãy nhớ thay đổi cài đặt thành của riêng bạn
- Thử mở tệp CSV đã tải lên
- Đọc và nhập tệp CSV vào cơ sở dữ liệu theo từng hàng
Kết thúc THÊM) KHUYẾN NGHỊ và MẸO<?php
// (A) SET TIME LIMIT (SECONDS)
set_time_limit(300);
// (B) DATA CHECK
while (($row = fgetcsv($fh)) !== false) {
if (!filter_var($row[0], FILTER_VALIDATE_EMAIL)) {
echo "INVALID EMAIL FORMAT - " . $row[1];
continue;
}
}
Ví dụ trên sẽ hoạt động đủ tốt, nhưng luôn cho rằng mọi thứ sẽ không ổn. Dưới đây là một vài “lỗi có thể xảy ra” phổ biến và mẹo xử lý chúng BIT BỔ SUNG & LIÊN KẾTĐó là tất cả cho hướng dẫn này và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn LIÊN KẾT và THAM KHẢO- Mở tệp – PHP
- Tải tệp CSV – PHP
- Đặt giới hạn thời gian – PHP
- PDO (Đối tượng cơ sở dữ liệu) – PHP
- Cách chạy tập lệnh PHP trong nền – Code Boxx
VIDEO HƯỚNG DẪN BẢNG CHEAT INFOGRAPHICCảm ơn bạn đã đọc, và chúng tôi đã đi đến phần cuối của hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn với dự án của bạn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, xin vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc
PHP có thể đọc tệp CSV không?
PHP có hai chức năng sẵn có để đọc tệp CSV . fgetcsv() – Đọc CSV bằng tham chiếu của tài nguyên tệp. str_getcsv() – Đọc dữ liệu CSV được lưu trữ trong một biến.
Làm cách nào tôi có thể kết nối PHP với MySQL?
Cách kết nối PHP với cơ sở dữ liệu MySQL . Sử dụng tiện ích mở rộng để kết nối cơ sở dữ liệu MySQL trong PHP. PHP cung cấp ba phần mở rộng mà bạn có thể sử dụng để. . Thêm các câu lệnh SQL vào các hàm PHP. Bằng cách sử dụng các phần mở rộng MySQL trong các tập lệnh PHP, bạn có thể thêm các câu lệnh SQL sau vào các hàm CRUD của PHP để hoạt động với các bản ghi cơ sở dữ liệu MySQL |