实现将 CSV 文件导入 MySQL 数据库的PHP脚本(假设MySQL数据表第一列为 id,从第二列开始为数据)
时间: 2024-02-20 18:59:28 浏览: 119
可以使用以下 PHP 脚本将 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);
}
// 设置字符集
$conn->set_charset("utf8");
// 打开 CSV 文件
$filename = "data.csv";
$file = fopen($filename, "r");
// 读取 CSV 文件中的每一行数据并插入到 MySQL 数据库中
while (($data = fgetcsv($file)) !== FALSE) {
// 跳过第一列(id)
array_shift($data);
// 构造 SQL 语句并插入数据
$sql = "INSERT INTO table_name (column2, column3, column4) VALUES ('" . implode("', '", $data) . "')";
if ($conn->query($sql) === FALSE) {
echo "插入数据失败: " . $sql . "<br>" . $conn->error;
}
}
// 关闭 CSV 文件和数据库连接
fclose($file);
$conn->close();
?>
```
在上面的示例代码中,需要将以下参数替换为实际的值:
- $servername:MySQL 数据库所在的主机名或 IP 地址;
- $username:连接 MySQL 数据库的用户名;
- $password:连接 MySQL 数据库的密码;
- $dbname:要连接的数据库名;
- $filename:要导入的 CSV 文件路径;
- table_name:要导入数据的表格名;
- column2、column3、column4:要导入的列名,可以根据实际情况修改为其他的列名。
需要注意的是,上面的代码没有对 CSV 文件中的数据进行校验和过滤,因此可能存在 SQL 注入等安全问题,建议在实际使用时加入相应的安全措施。
阅读全文