Вы должны получить индексы для доступа к значениям в другом массиве:
foreach($_POST['experiences'] as $idx => $experience) {
$sql = "INSERT INTO experiences (number, experience, years)
VALUES ({$idx}, {$experience}, {$_POST['years'][$idx]}");
// execute query, etc
}
Это будет работать, но вы, вероятно, не должны делать это таким образом, потому что это оставляет вас открытым для SQL-инъекций . Лучший способ сделать это - очистить ваши входные данные (например: mysql_reaL_escape_string
или его эквивалент в mysqli)
Наилучшим путем будет с использованием подготовленных операторов :
$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]));
}