sql >> Database teknologi >  >> RDS >> Mysql

php indsæt flere rækker i MYSQL-databasen

Hvis du får et array fra din HTML-formular, skal du sløjfe på dette array og indsætte hver række separat i DB. For at gøre dette skal du bruge forberedt statement og 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. Jeg vil have en trigger til at SLETTE fra 2 tabeller i MySQL

  2. Konfigurationssystemet kunne ikke initialiseres

  3. SQL-forespørgsel returnerer falsk i PHP

  4. PHP kort unikt ID-generering ved hjælp af auto_increment?