sql >> Databasteknik >  >> RDS >> Mysql

php infoga flera rader i MYSQL-databasen

Om du får en array från ditt HTML-formulär måste du gå i en loop på denna array och infoga varje rad separat i DB. För att göra detta måste du använda förberedd sats och en loop.

if (isset($_GET['submit'])) {
    $client_id = $value->ID; // Wherever this value comes from...

    // Insert new sales order
    $stmt = $mysql->prepare('INSERT INTO salesorder (client_id) VALUES (?)');
    $stmt->bind_param('s', $client_id);
    $stmt->execute();
    $stmt->store_result();

    $order_id = $mysql->insert_id;

    // prepare the SQL statement
    $orderline_stmt = $mysql->prepare('INSERT INTO orderline (order_id, food_id, qty) VALUES (?,?,?)');

    // loop on each element from HTML form 
    // i.e. <input name="foodid[]" >
    foreach ($_GET['foodid'] as $key => $food_id) {
        $qty = $_GET['qty']; // should this be an array too?
        // $qty = $_GET['qty'][$key]; <-- if it's also an array

        $orderline_stmt->bind_param('sss', $order_id, $food_id, $qty);
        $orderline_stmt->execute();
    }
}


  1. Hur man ansluter till MySQL med Python

  2. MySQL två kolumner tidsstämpel standardvärde NU FEL 1067

  3. Senast uppdaterad rad-ID i Mysql

  4. MySQL commit och transaktion