Завершить набор результатов перед вставкой данных в БД

В настоящее время у меня есть страница продуктов и корзина для покупок. Когда пользователи добавляют элементы в корзину, я вставляю продукты в db после проверки пользователя. Но в настоящий момент в корзину вставляется только первый продукт.

Мне было интересно, есть ли способ перебрать данные до того, как они будут вставлены в db, чтобы все продукты были вставлены в db, а не только в 1-й. Но я понятия не имею, как это сделать, обычно я делаю это с помощью foreach, но я не могу сделать этого в этом случае, так как информация, которую мне нужно зацикливать, например название продукта и цена, выбрана из db, поэтому нет массив.

Поэтому мой вопрос заключается в том, как бы я прошел все результаты перед вставкой, и для чего лучше всего это сделать. Любая помощь будет принята с благодарностью.

$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? } } 

Код для этой страницы довольно длинный, все перечисленные выше переменные определены на странице, данные вставляются в порядке.