|
|
|
สอบถามปัญหา Upload CSV to MySQL ระบบไม่ทำงาน แก้ไขอย่างไรดีครับ |
|
|
|
|
|
|
|
ต้องการอัพโหลดไฟล์ csv ไปยัง mysql อัพโหลดแล้วยัง failed ตลอด เป็นเพราะอะไรหรอครับ
<form action="page9-3_save.php" method="post" enctype="multipart/form-data" name="form1">
<input name="fileCSV" type="file" id="fileCSV">
<input name="btnSubmit" type="submit" id="btnSubmit" value="Submit">
</form>
Code (PHP)
<?php
include("../config.php");
move_uploaded_file($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV
$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
$strSQL = "INSERT INTO `tb_time`(`t_id`, `u_empno`, `u_name`, `u_dept`, `t_date`, `t_status`, `t_work`, `t_break`, `t_ot_before`, `t_ot_after`, `t_shift`, `t_in`, `t_out`, `t_late`, `t_leave_early`, `t_remark1`, `t_remark2`) VALUES ";
$strSQL .="('','".$objArr[0]."','".$objArr[1]."','".$objArr[2]."','".$objArr[3]."','".$objArr[4]."','".$objArr[5]."','".$objArr[6]."','".$objArr[7]."','".$objArr[8]."','".$objArr[9]."','".$objArr[10]."','".$objArr[11]."','".$objArr[12]."','".$objArr[13]."','".$objArr[14]."','".$objArr[15]."' ";
$objQuery = $mysqli->query($strSQL);
}
fclose($objCSV);
if($objQuery){ echo "Upload & Import Done."; }
else{ echo "Failed"; }
?>
Tag : PHP, MySQL, HTML5, jQuery, Excel (Excel.Application), XAMPP
|
|
|
|
|
|
Date :
2024-11-11 13:16:59 |
By :
zezemoz |
View :
88 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Error อะไร
|
|
|
|
|
Date :
2024-11-11 18:31:15 |
By :
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นับจำนวนคอลัมน์ให้ดีๆซิ
แล้วเปิดแสดง error ด้วยจะได้ไม่ต้องมางมและงงว่าทำไมหรือเพราะอะไร เพราะมันจะบอกเราให้เอง
|
|
|
|
|
Date :
2024-11-12 09:02:38 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
include("../config.php");
// ตรวจสอบว่ามีการอัปโหลดไฟล์
if (!isset($_FILES["fileCSV"]) || $_FILES["fileCSV"]["error"] !== UPLOAD_ERR_OK) {
die("File upload error.");
}
// ตรวจสอบประเภทไฟล์
$allowedTypes = ['text/csv', 'application/vnd.ms-excel'];
$fileType = mime_content_type($_FILES["fileCSV"]["tmp_name"]);
if (!in_array($fileType, $allowedTypes)) {
die("Invalid file type. Please upload a valid CSV file.");
}
// กำหนดชื่อไฟล์แบบสุ่มเพื่อป้องกันปัญหาความปลอดภัย
$uploadedFileName = "uploads/" . uniqid("csv_", true) . ".csv";
// ย้ายไฟล์ไปยังตำแหน่งที่ปลอดภัย
if (!move_uploaded_file($_FILES["fileCSV"]["tmp_name"], $uploadedFileName)) {
die("Failed to upload file.");
}
// เปิดไฟล์ CSV
if (($objCSV = fopen($uploadedFileName, "r")) !== FALSE) {
// เตรียม statement สำหรับการ query
$stmt = $mysqli->prepare(
"INSERT INTO `tb_time`(`t_id`, `u_empno`, `u_name`, `u_dept`, `t_date`, `t_status`, `t_work`, `t_break`, `t_ot_before`, `t_ot_after`, `t_shift`, `t_in`, `t_out`, `t_late`, `t_leave_early`, `t_remark1`, `t_remark2`)
VALUES (NULL, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
);
if (!$stmt) {
die("Failed to prepare SQL statement: " . $mysqli->error);
}
// อ่านข้อมูลจาก CSV
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
// ตรวจสอบจำนวนคอลัมน์ให้ตรงกับที่ต้องการ
if (count($objArr) < 16) {
continue; // ข้ามข้อมูลที่ไม่ครบ
}
// ผูกข้อมูลเข้ากับ statement
$stmt->bind_param(
"ssssssssssssssss",
$objArr[0], $objArr[1], $objArr[2], $objArr[3], $objArr[4], $objArr[5], $objArr[6],
$objArr[7], $objArr[8], $objArr[9], $objArr[10], $objArr[11], $objArr[12], $objArr[13],
$objArr[14], $objArr[15]
);
// ดำเนินการ query
if (!$stmt->execute()) {
echo "Error inserting row: " . $stmt->error . "<br>";
}
}
fclose($objCSV);
echo "Upload & Import Done.";
} else {
die("Failed to open the uploaded CSV file.");
}
// ปิดการเชื่อมต่อ
$stmt->close();
$mysqli->close();
?>
|
|
|
|
|
Date :
2024-11-13 07:48:56 |
By :
Manussawin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|