我有一個會話,它是通過向購物車中的產品添加選項而構建的。 (工作正常的部分未在此處描述)會話中有多個值,但只有第一個會去數據庫
這些選項進入類似如下的會話:$_SESSION['options'.$id]
其中$id
在調用前面的代碼塊之前被標識。
我想要在下面的代碼插入會話中的每個項目作爲數據庫表中的新行。
foreach($_SESSION['options'.$id] as $option)
{
echo $option;
$statement = "INSERT INTO KC_OrderOptions (orderNumber, optionName, productID) VALUES (:orderNumber, :optionName, :productID)";
$query = $db->prepare($statement);
$results = $query->execute(array(
":orderNumber" => $orderNumber,
":optionName" => $option,
":productID" => $item
));
}
現在與我已經建立了會話,echo $option;
顯示以下行:
Swedish Fish AssortedSmooth n Melty Mints LargeNonpareils Milk ChocolateJelly Belly Sour Assorted
它只能屈居Swedish Fish Assorted
到數據庫中。我怎樣才能使這個循環,並將每個項目添加到數據庫?
數據庫表是什麼樣的?是否存在一個可能阻止具有相同'orderNumber'或'productID'的多行的關鍵關係被插入? – futureal
爲什麼在循環中有'$ statement =「INSERT ...'&'$ query = $ db-> prepare($ statement);'將這些移動到foreach()'循環之前的外部/之前 – Sean
@futureal - 沒有沒有! – user3271851