📅  最后修改于: 2023-12-03 15:38:45.804000             🧑  作者: Mango
在 PHP 开发中,有时会遇到需要将数组数据批量插入到数据库中的情况。这时,我们可以使用 SQL 中的 INSERT INTO 语句结合 PHP 数组来实现。
以下是一个简单的步骤,用于向数据库中插入多个数据。
在 PHP 中与 MySQL 数据库进行交互时,首先需要建立数据库连接。以下是一个简单的示例代码:
<?php
$servername = "localhost"; // 数据库主机名
$username = "username"; // 数据库用户名
$password = "password"; // 数据库密码
$dbname = "myDB"; // 要使用的数据库名称
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接是否成功
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
?>
以下是一个INSERT INTO 语句的示例:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
在本例中,我们不知道数组内部有多少个元素,因此需要使用循环语句动态生成INSERT INTO语句。
以下是一个将数组插入到SQL语句的示例代码:
$sql = "INSERT INTO my_table (column1,column2,column3) VALUES ";
$valuesArr = [];
foreach ($myArray as $row) {
$id = $row['id'];
$name = $row['name'];
$age = $row['age'];
$valuesArr[] = "({$id}, '{$name}', {$age})";
}
$sql .= implode(',', $valuesArr);
$result = mysqli_query($conn, $sql);
if ($result) {
echo "插入成功";
} else {
echo "插入失败:" . mysqli_error($conn);
}
使用 mysqli_query() 函数执行 SQL 语句。
$result = mysqli_query($conn, $sql);
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
$myArray = array(
array("id" => "1", "name" => "John", "age" => "29"),
array("id" => "2", "name" => "Tom", "age" => "30"),
array("id" => "3", "name" => "Mike", "age" => "28")
);
$sql = "INSERT INTO my_table (column1,column2,column3) VALUES ";
$valuesArr = [];
foreach ($myArray as $row) {
$id = $row['id'];
$name = $row['name'];
$age = $row['age'];
$valuesArr[] = "({$id}, '{$name}', {$age})";
}
$sql .= implode(',', $valuesArr);
$result = mysqli_query($conn, $sql);
if ($result) {
echo "插入成功";
} else {
echo "插入失败:" . mysqli_error($conn);
}
mysqli_close($conn);
?>
以上就是如何将数组批量插入 SQL(使用 PHP)的介绍。