I need to update my table with multiple request. With a form, i get some values that i will take for update my table.
  $products =  [
    'prodotto1' => [
      'referenza' => $_POST['referenza1'],
      'prezzo' => $_POST['prezzo1'],
    ],
    'prodotto2' => [
      'referenza' => $_POST['referenza2'],
      'prezzo' => $_POST['prezzo2'],
    ],
    'prodotto3' => [
      'referenza' => $_POST['referenza3'],
      'prezzo' => $_POST['prezzo3'],
    ]
  ];
I thought to do this with a foreach :
function updateProducts(array $params){
    $pdo = $GLOBALS["db"];
    $sql = "UPDATE product SET REFERENCE=:reference, PRICE=:price WHERE REFERENCE=:reference";
    $stmt= $pdo->prepare($sql);
    foreach ($params as $prodotto ){
        if ($prodotto['referenza'] && $prodotto['prezzo'] ){
            $stmt->bindParam(':reference', $prodotto['referenza'], PDO::PARAM_STR);
            $stmt->bindParam(':price', $prodotto['prezzo']);
            $stmt->execute();
        }
    }
}
But i'm not sure that is the best way to do this.
Can u suggest me some goods practice ?
 
    