CSV是一种常用的数据存储格式,而MySQL是一种常见的关系型数据库。将CSV数据导入MySQL数据库是一个常见的任务。下面将介绍如何使用PHP将CSV数据导入MySQL数据库。
步骤如下:
1. 首先,打开CSV文件并读取数据。可以使用PHP的内置函数fopen()和fgetcsv()来处理。代码如下:
$filename = 'data.csv';
$handle = fopen($filename, 'r');
if ($handle) {
while (($row = fgetcsv($handle, 1000, ',')) !== false) {
//处理数据
}
fclose($handle);
}
2. 连接MySQL数据库并创建表格。可以使用mysqli类的构造函数和query()方法来执行。代码如下:
$servername = 'localhost';
$username = 'root';
$password = 'password';
$dbname = 'test_db';
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die('Connection failed: ' . $conn->connect_error);
}
$sql = "CREATE TABLE IF NOT EXISTS mytable (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if ($conn->query($sql) === false) {
die('Error creating table: ' . $conn->error);
}
3. 插入数据。使用INSERT INTO语句将数据插入到表格中。代码如下:
$sql = "INSERT INTO mytable (name, email) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param('ss', $name, $email);
foreach ($rows as $row) {
$name = $row[0];
$email = $row[1];
if ($stmt->execute() === false) {
die('Error inserting data: ' . $conn->error);
}
}
$stmt->close();
$conn->close();
完成以上步骤后,CSV数据就成功导入到MySQL数据库中了。