PHP数组变成mysqltable
PHP array into a mysql table
我有一个 php 数组。我想使用 PDO 将它们全部插入到 mysql table 的列中。
$myArray = array("12397", "45263426", "253725372","2735724372");
$sql = "DROP TEMPORARY TABLE IF EXISTS T_Temp;
CREATE TEMPORARY TABLE T_Temp (
AccountID varchar(120)
);";
现在我想一次性将所有数组值插入到 T_Temp table 中。我不想使用 foreach。
要一次插入多个值,您可以编写这种查询
INSERT INTO table_name (column_list)
VALUES
(value_list_1),
(value_list_2),
...
(value_list_n);
这里有一个不使用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);
我有一个 php 数组。我想使用 PDO 将它们全部插入到 mysql table 的列中。
$myArray = array("12397", "45263426", "253725372","2735724372");
$sql = "DROP TEMPORARY TABLE IF EXISTS T_Temp;
CREATE TEMPORARY TABLE T_Temp (
AccountID varchar(120)
);";
现在我想一次性将所有数组值插入到 T_Temp table 中。我不想使用 foreach。
要一次插入多个值,您可以编写这种查询
INSERT INTO table_name (column_list)
VALUES
(value_list_1),
(value_list_2),
...
(value_list_n);
这里有一个不使用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);