sql >> データベース >  >> RDS >> Mysql

phpはMYSQLデータベースに複数の行を挿入します

    HTMLフォームから配列を取得する場合は、この配列をループして、各行を個別にDBに挿入する必要があります。これを行うには、プリペアドステートメントとループを使用する必要があります。

    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. --MySQLでALTERテーブルを元に戻すことはできますか?

    2. プロアクティブなデータベースパフォーマンスモニタリングの5つの利点

    3. SQL ComplianceManager5.9の一般提供の発表

    4. MySQLがgroupbyで最大レコードを選択