他の配列の値にアクセスするには、インデックスを取得する必要があります:
foreach($_POST['experiences'] as $idx => $experience) {
$sql = "INSERT INTO experiences (number, experience, years)
VALUES ({$idx}, {$experience}, {$_POST['years'][$idx]}");
// execute query, etc
}
これは機能しますが、 SQLインジェクション<を開いたままにするため、この方法で行うべきではありません。 / a> 。これを行うためのより良い方法は、入力をサニタイズすることです(例: 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]));
}