编写⼀个PHP脚本,实现从⼀个CSV⽂件读取数据,并将数据插⼊到MySQL数据库表中
封面图
•
2026-01-17
•
PHP
233
0
0
0
下面是一个简单的 PHP 脚本,用于从 CSV 文件读取数据,并将这些数据插入到 MySQL 数据库表中。 --- ### ✅ 前提条件: 1. 你有一个 CSV 文件(例如 `data.csv`)。 2. 你有一个 MySQL 数据库,并且已经创建了一个表来存储这些数据(例如 `users` 表)。 3. 你需要配置数据库连接信息(主机名、用户名、密码、数据库名)。 --- ### 📝 示例 CSV 文件内容 (`data.csv`): ``` name,email,age John Doe,john@example.com,30 Jane Smith,jane@example.com,25 ``` --- ### 🧩 PHP 脚本代码: ```php <?php // 配置数据库连接信息 $host = 'localhost'; // 数据库主机 $username = 'root'; // 数据库用户名 $password = ''; // 数据库密码 $dbname = 'test_db'; // 数据库名称 // CSV 文件路径 $csvFile = 'data.csv'; // 创建数据库连接 $conn = new mysqli($host, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 打开CSV文件 if (($handle = fopen($csvFile, "r")) !== FALSE) { // 跳过第一行(标题) fgetcsv($handle); // 逐行读取CSV数据 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { // 假设CSV字段顺序为:name, email, age $name = $conn->real_escape_string($data[0]); $email = $conn->real_escape_string($data[1]); $age = intval($data[2]); // SQL 插入语句 $sql = "INSERT INTO users (name, email, age) VALUES ('$name', '$email', $age)"; if ($conn->query($sql) === TRUE) { echo "记录插入成功<br>"; } else { echo "错误: " . $sql . "<br>" . $conn->error . "<br>"; } } fclose($handle); } else { echo "无法打开CSV文件。"; } // 关闭数据库连接 $conn->close(); ?> ``` --- ### 📌 注意事项: - 确保你的 CSV 文件路径正确。 - 如果 CSV 中有特殊字符或引号,请使用 `fgetcsv()` 来处理。 - 使用 `real_escape_string()` 来防止 SQL 注入。 - 如果你使用的是 PHP 7.1+,可以考虑使用 PDO 或者更安全的预处理语句(Prepare Statement)来提高安全性。 --- ### ✅ 示例数据库表结构(`users`): ```sql CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE, age INT ); ``` --- 如果你需要我提供使用 **PDO** 或 **预处理语句** 的版本,也可以告诉我!
上一篇:
解释PHP中的垃圾回收机制(Garbage Collection)及其作⽤
下一篇:
编写⼀个PHP函数,实现斐波那契数列的前n项,其中n为函数参数
标题录入,一次不能超过6条
留言
评论