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 方法。这些方法都可以有效地将多条记录插入到数据库中。