用户需要通过前端网页PHP脚本,手动把保存有员工每天打卡记录的csv文件导入到MySQL数据库。在写入数据库前需要先查询该记录是否与数据库内保存的有重复。生成代码
时间: 2024-02-21 15:57:51 浏览: 68
以下是可能的PHP代码实现,用于将CSV文件导入到MySQL数据库,并检查是否有重复记录:
```php
<?php
// 配置数据库连接信息
$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_records.csv";
$file = fopen($filename, "r");
// 遍历每行数据并逐一检查是否有重复记录
while (($data = fgetcsv($file)) !== FALSE) {
$date = $data[0];
$employee_id = $data[1];
$check_in_time = $data[2];
$check_out_time = $data[3];
// 检查记录是否已存在于数据库中
$sql = "SELECT * FROM employee_records WHERE date='$date' AND employee_id='$employee_id'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 如果已存在,则不进行插入操作
echo "记录已存在:$date $employee_id\n";
} else {
// 如果不存在,则插入记录到数据库中
$sql = "INSERT INTO employee_records (date, employee_id, check_in_time, check_out_time) VALUES ('$date', '$employee_id', '$check_in_time', '$check_out_time')";
if ($conn->query($sql) === TRUE) {
echo "记录已插入:$date $employee_id\n";
} else {
echo "插入记录时发生错误:$sql\n" . $conn->error;
}
}
}
// 关闭连接和文件
fclose($file);
$conn->close();
?>
```
注意,在实际使用时需要将数据库连接信息、文件名和表名等根据实际情况进行修改。此外,还需要考虑更多的异常情况和错误处理。
阅读全文