用户需要通过前端网页PHP脚本,手动把保存有员工每天打卡记录的csv文件导入到MySQL数据库。请生成防止误操作导致某天的数据重复导入的示例代码
时间: 2024-02-21 12:56:35 浏览: 19
以下是一个示例代码,用于将保存有员工每天打卡记录的csv文件导入到MySQL数据库,并防止某天的数据重复导入:
```php
<?php
// 连接MySQL数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 打开csv文件
$filename = "employee_checkin.csv";
$file = fopen($filename, "r");
// 读取csv文件中的数据,并插入到MySQL数据库中
while (($data = fgetcsv($file)) !== false) {
// 获取员工ID、打卡日期和打卡时间等数据
$employee_id = $data[0];
$checkin_date = $data[1];
$checkin_time = $data[2];
// 查询表中是否已经存在该记录
$sql = "SELECT * FROM employee_checkin WHERE employee_id = '$employee_id' AND checkin_date = '$checkin_date'";
$result = $conn->query($sql);
// 如果表中不存在该记录,则插入数据
if ($result->num_rows == 0) {
$sql = "INSERT INTO employee_checkin (employee_id, checkin_date, checkin_time) VALUES ('$employee_id', '$checkin_date', '$checkin_time')";
if ($conn->query($sql) === true) {
echo "记录插入成功!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
} else {
echo "该记录已经存在,不需要重复插入。";
}
}
// 关闭csv文件和MySQL数据库连接
fclose($file);
$conn->close();
?>
```
在该示例代码中,首先连接MySQL数据库,并打开保存有员工每天打卡记录的csv文件。然后,读取csv文件中的数据,并使用SELECT语句查询表中是否已经存在该记录。如果表中不存在该记录,则将该记录插入到表中;如果表中已经存在该记录,则不进行任何操作。最后,关闭csv文件和MySQL数据库连接。这样就可以防止某天的数据重复导入。