PHP MySQL 插入多条数据学习笔记
本文将介绍在 PHP 中如何使用 MySQL 数据库插入多条数据。
使用 VALUES 子句一次性插入多条数据
在 PHP 中可以使用 INSERT INTO
语句插入一条数据到 MySQL 数据库中。但是如果想要插入多条记录,一种可行的方法是使用 VALUES 子句一次性插入多条数据。
下面是一个示例代码,展示如何使用 PHP 向 MySQL 数据库插入两条记录:
phpCopy Code<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 准备 SQL 语句
$sql = "INSERT INTO myTable (name, age) VALUES ('John', '25'), ('Jane', '30')";
// 执行 SQL 语句
if ($conn->query($sql) === TRUE) {
echo "插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
// 关闭连接
$conn->close();
?>
在上面的代码中,首先连接到 MySQL 数据库。之后准备了一个 SQL 语句,该语句包含了两个 VALUES 子句,每个子句都对应一条记录的信息。最后将该 SQL 语句传递给 query()
方法,以执行插入操作。
使用 PREPARE 和 BIND_PARAM 方法插入多条数据
除了使用 VALUES 子句外,还可以使用 PREPARE 和 BIND_PARAM 方法来插入多条数据。这种方法需要将 SQL 语句拆分成两个部分:一个包含占位符的基本语句,另一个是由不同记录组成的数组。然后在 PHP 中执行一个循环,为每个记录设置相应的参数,并使用 execute()
方法插入每个记录。
下面是一个示例代码,展示如何使用 PREPARE 和 BIND_PARAM 方法向 MySQL 数据库中插入两条记录:
phpCopy Code<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 准备 SQL 语句
$sql = "INSERT INTO myTable (name, age) VALUES (?, ?)";
// 准备数据
$data = array(
array('John', '25'),
array('Jane', '30')
);
// 预处理 SQL 语句
$stmt = $conn->prepare($sql);
// 循环插入数据
foreach ($data as $row) {
$name = $row[0];
$age = $row[1];
$stmt->bind_param("si", $name, $age);
$stmt->execute();
}
// 关闭连接
$stmt->close();
$conn->close();
?>
在上面的代码中,首先连接到 MySQL 数据库。之后准备了一个包含占位符的基本语句,每个占位符都对应一列数据。然后创建了一个由不同记录组成的数组,并执行了一个循环,在该循环中,使用 bind_param()
方法为每个记录设置相应的参数,并使用 execute()
方法插入每个记录。
结论
本文介绍了两种向 MySQL 数据库插入多条记录的方法:使用 VALUES 子句和使用 PREPARE 和 BIND_PARAM 方法。这些方法都可以有效地将多条记录插入到数据库中。