📜  如何将数组批量插入 sql php (1)

📅  最后修改于: 2023-12-03 15:38:45.804000             🧑  作者: Mango

如何将数组批量插入 SQL(使用 PHP)

在 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 语句的示例:

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);
}
步骤三:执行SQL语句

使用 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)的介绍。