sql >> Databasteknik >  >> RDS >> Mysql

För varje av TVÅ loopande textfält, möjligt?

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



  1. Failover för PostgreSQL-replikering 101

  2. mysql-uppdatering med regexp

  3. GeoDjango &MySQL:poäng kan inte vara NULL, vilket annat tomt värde ska jag använda?

  4. Php Mysql Sök mellan två datum