Массовая вставка массивов в SQL с использованием PHP

Чтобы массово вставить массив в базу данных SQL с помощью PHP, у вас есть несколько доступных методов. Вот несколько примеров:

Метод 1: использование подготовленного оператора

// Assuming $array is the array you want to insert
$query = 'INSERT INTO your_table (column1, column2) VALUES (?, ?)';
$stmt = $pdo->prepare($query);
foreach ($array as $item) {
    $stmt->execute([$item['value1'], $item['value2']]);
}

Метод 2: использование транзакции

// Assuming $array is the array you want to insert
$query = 'INSERT INTO your_table (column1, column2) VALUES (?, ?)';
$pdo->beginTransaction();
try {
    $stmt = $pdo->prepare($query);
    foreach ($array as $item) {
        $stmt->execute([$item['value1'], $item['value2']]);
    }
    $pdo->commit();
} catch (Exception $e) {
    $pdo->rollBack();
    echo "Error: " . $e->getMessage();
}

Метод 3. Использование синтаксиса SQL VALUES

// Assuming $array is the array you want to insert
$values = [];
foreach ($array as $item) {
    $values[] = "('" . $item['value1'] . "', '" . $item['value2'] . "')";
}
$query = 'INSERT INTO your_table (column1, column2) VALUES ' . implode(',', $values);
$pdo->exec($query);

Метод 4. Использование синтаксиса SQL INSERT INTO SELECT

// Assuming $array is the array you want to insert
$tempTable = 'temp_table';
$query = 'CREATE TEMPORARY TABLE ' . $tempTable . ' (column1 VARCHAR(255), column2 VARCHAR(255))';
$pdo->exec($query);
$stmt = $pdo->prepare('INSERT INTO ' . $tempTable . ' (column1, column2) VALUES (?, ?)');
foreach ($array as $item) {
    $stmt->execute([$item['value1'], $item['value2']]);
}
$query = 'INSERT INTO your_table (column1, column2) SELECT column1, column2 FROM ' . $tempTable;
$pdo->exec($query);
$query = 'DROP TABLE ' . $tempTable;
$pdo->exec($query);

Это всего лишь несколько примеров того, как можно массово вставить массив в базу данных SQL с помощью PHP. Не забудьте адаптировать код в соответствии со структурой и требованиями вашей конкретной базы данных.