error al insert la database de valores múltiples php

¿Alguien puede explicarme por qué esto no funciona, estoy tratando de insert valores múltiples en una database, primero estaba insertando carpirces solo y estaba trabajando, pero ahora estoy tratando de insert también de IDs pero ahora el código no funciona

if(!empty($_POST)) { $query = "INSERT INTO prices (carid, vendorid, carprice) values (:carid, 2, :carprice)"; $query_params = array(':carprice' => $_POST['carprice']); $price = null; $carids = null; try { $stmt = $db->prepare($query); $stmt->bindParam(':carprice', $price); foreach($_POST['carprice'] as $value) { $price = $value; $stmt->execute(); } $stmt->bindParam(':carid', $carids); foreach($_POST['carid'] as $value) { $carids = $value; $stmt->execute(); } } catch(PDOException $ex) { die("Error 1 " . $ex->getMessage()); } header("Location: update.php"); die("Rendirecting to update.php"); } ?> <form action="prices.php" method="post"> <table border=1> <tr> <th>Id</th> <th>car</th> <th>model</th> <th>Price</th> </tr> <?php foreach($rowscars as $row): ?> <tr> <th><input type="hidden" name="carid[]" value="<?php echo ' ' . htmlentities($row['carid'], ENT_QUOTES, 'UTF-8') . ' ';?>" /><?php echo '' . htmlentities($row['carid'], ENT_QUOTES, 'UTF-8') . '';?></th> <th><?php echo '' . htmlentities($row['car'], ENT_QUOTES, 'UTF-8') . '';?></th> <th><?php echo '' . htmlentities($row['model'], ENT_QUOTES, 'UTF-8') . '';?></th> <th><input type="text" name="carprice[]" value=""></th> </tr> <?php endforeach; ?> </table> <input type="submit" value="Submit"> </form> 

Supongo que quiere insert carPrice para carId especificado. En primer lugar, debe asignar cada identificador de automobile al precio del automobile, haga algo así:

 if (!empty($_POST['carid'] && $_POST['carprice']) { $carPrices = array_combine($_POST['carid'], $_POST['carprice']); foreach ($carPrices as $carId => $carPrice) { $stmt = $db->prepare($query); $stmt->bindParam(':carprice', $carPrice); $stmt->bindParam(':carid', $carId); $stmt->execute(); } }