Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pour chacun des DEUX champs de texte en boucle, possible ?

Vous devez obtenir les index pour accéder aux valeurs de l'autre tableau :

foreach($_POST['experiences'] as $idx => $experience) {
    $sql = "INSERT INTO experiences (number, experience, years)
            VALUES ({$idx}, {$experience}, {$_POST['years'][$idx]}");
    // execute query, etc
}

Cela fonctionnera, mais vous ne devriez probablement pas le faire de cette façon car cela vous laisse ouvert pour injections SQL . Une meilleure façon de le faire serait de nettoyer vos entrées (par exemple : mysql_reaL_escape_string ou son équivalent mysqli)

La meilleure façon de procéder serait d'd'utiliser des déclarations préparées :

$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]));
}