Prova così:
Codice PHP:
foreach (array_keys($match[2]) as $idx) {
$taglia = substr($match[2][$idx],1); // 1 e' il numero di caratteri da rimuovere
$products[] = [
':prodotto' => $taglia,
':quantita' => $match[3][$idx],
':terminale' => $match[4][$idx]
];
}
Nell'array che passi ad execute() non hai messo i ":" prima dei nomi.
Però poi a quel punto questo va tolto:
Codice PHP:
$query->bindParam(':prodotto', $prodotto);
$query->bindParam(':quantita', $quantita, PDO::PARAM_STR);
$query->bindParam(':terminale', $terminale, PDO::PARAM_STR);
$query->execute();
Dopo con calma ti scrivo un codice che funzioni, ora sono di corsa.