PHP批量写入MySQL是指使用PHP脚本一次性向MySQL数据库中插入多条记录,而不是逐条插入。这种操作可以显著提高数据写入的效率,特别是在需要处理大量数据时。
INSERT INTO ... VALUES语句:可以一次性插入多组值。INSERT INTO ... SELECT语句:可以从一个表中选择数据并插入到另一个表中。以下是使用PHP和MySQLi进行批量写入的示例代码:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 准备批量插入的数据
$data = [
['name' => 'Alice', 'age' => 25],
['name' => 'Bob', 'age' => 30],
['name' => 'Charlie', 'age' => 35]
];
// 构建批量插入的SQL语句
$sql = "INSERT INTO users (name, age) VALUES ";
$values = [];
foreach ($data as $row) {
$values[] = "('" . $conn->real_escape_string($row['name']) . "', " . intval($row['age']) . ")";
}
$sql .= implode(', ', $values);
// 执行SQL语句
if ($conn->query($sql) === TRUE) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
// 关闭连接
$conn->close();
?>real_escape_string方法防止SQL注入。通过以上方法,可以有效地进行PHP批量写入MySQL的操作,并解决常见的相关问题。
没有搜到相关的文章