在将数据插入数据库

时间:2016-06-22 19:46:49

标签: php mysql

我目前有产品页面和购物车。当用户向购物车添加商品时,我会在用户结帐后将产品插入到数据库中。但目前只有第一个产品插入购物车。

我想知道是否有办法在数据插入数据库之前循环数据,以确保所有产品都插入数据库而不仅仅是第一个。但我不知道如何做到这一点,我通常会使用foreach,但我不能这样做,因为我需要循环的信息,如产品名称和价格从数据库中选择,因此没有阵列。

所以我的问题是,在插入之前我将如何遍历所有结果,这样做的最佳做法是什么。任何帮助将不胜感激。

    $vi_details = mysqli_query($dbc, "SELECT Resturant_name,City_name FROM Rest_Details WHERE Resturant_ID='$_SESSION[rest_id]'");

    while ($row_details = mysqli_fetch_array($vi_details)) {
        $rest_name = $row_details['Resturant_name'];
        $City_name = $row_details['City_name'];


        $_query = "INSERT INTO ord_dets(Order_ID,custmer_ip,Resturant_ID,Resturant_name,City_name,
        Product_Id,Product_Name,Product_Price,item_sub) 
VALUES (?,?,?,?,?,?,?,?,?)";
        $query_run = $dbc->prepare($_query);


        $query_run->bind_param('isissisdd', $OI, $ip, $_SESSION['rest_id'], $rest_name, $City_name, $Product_Id, $product_name, $prod_price,$item_sub);

        if (!$query_run->execute()) {
            $insertError = "There was an error inserting data: " . $query_run->error;
        }

        print "affected rows:" . $query_run->affected_rows; //how many records affected?    
    }
}

这个页面的代码很长,上面的所有变量都已在页面中定义,数据插入正常。

0 个答案:

没有答案