Du måste hämta indexen för att komma åt värdena i den andra arrayen:
foreach($_POST['experiences'] as $idx => $experience) {
$sql = "INSERT INTO experiences (number, experience, years)
VALUES ({$idx}, {$experience}, {$_POST['years'][$idx]}");
// execute query, etc
}
Detta kommer att fungera, men du bör förmodligen inte göra det på det här sättet eftersom det lämnar dig öppen för SQL-injektioner . Ett bättre sätt att göra detta skulle vara att rensa dina indata (t.ex.: mysql_reaL_escape_string
eller dess mysqli-motsvarighet)
Det bästa sättet att gå är att använda förberedda uttalanden :
$stmt = $dbh->prepare("INSERT INTO experiences (number, experience, years)
VALUES (?, ?, ?)");
foreach($_POST['experiences'] as $idx => $experience) {
// pass values and execute
$stmt->execute(array($idx, $experience, $_POST['years'][$idx]));
}