private function insertMultiple(Connection $conn, $tableName, array $datas)
{
if (empty($datas)) {
return;
}
$dataSets = array_values($datas);
$firstData = current($datas);
$columnNames = array_keys($firstData);
$placeholders = sprintf('(%s)', implode(', ', array_fill(0, count($columnNames), '?')));
$values = [];
foreach ($dataSets as $dataSet) {
$values = array_merge($values, array_values($dataSet));
}
$sql = sprintf('INSERT INTO %s (%s) VALUES %s', $tableName, implode(', ', $columnNames), implode(', ', array_fill(0, count($dataSets), $placeholders)));
$stmt = $conn->prepare($sql);
$stmt->execute($values);
}