1

我有一个 php 数组。我想使用 PDO 将它们全部插入 mysql 表的列中。

$myArray = array("12397", "45263426", "253725372","2735724372");
$sql = "DROP TEMPORARY TABLE IF EXISTS T_Temp;
        CREATE TEMPORARY TABLE T_Temp (
        AccountID varchar(120)
      );";

现在我想一次性将所有数组值插入到 T_Temp 表中。我不想使用 foreach。

4

2 回答 2

1

这是一个不使用的解决方案foreach

<?php

$myArray = array("12397", "45263426", "253725372","2735724372");
$sql = "DROP TEMPORARY TABLE IF EXISTS T_Temp;
        CREATE TEMPORARY TABLE T_Temp (
        AccountID varchar(120)
      );";

$pdo = new PDO('mysql:dbname=test;host=127.0.0.1', 'root');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo->exec($sql);

$placeholders = implode(",", array_fill(1, count($myArray), "(?)"));
$insertSql = "INSERT INTO T_Temp (AccountID) VALUES {$placeholders}";

$pdo->prepare($insertSql)->execute($myArray);
于 2021-08-23T15:27:55.770 回答
0

一次插入多个值,您可以编写这种查询

INSERT INTO table_name (column_list)
VALUES
    (value_list_1),
    (value_list_2),
    ...
    (value_list_n);
于 2021-08-23T14:43:06.410 回答