我正在开发基于会话的购物车。我想将会话中的购物车项目保存到我的数据库中。我需要帮助才能解决这个问题。我已经阅读过,但没有找到任何解决我的问题的线索。下面是2张图片,一张是样本数据库表,另一张是假定的会话变量。
使用PDO,我需要有关如何将这些值插入数据库的帮助。请注意,返回的数组数可能超过样本图像上的数组计数。任何提供的解决方案都应该是可扩展的,以尽可能多地保存购物车项目。
答案 0 :(得分:1)
与通过PDO的其他SQL查询相比,使用PDO没有什么特别之处。但是你在会话数组中缺少prod_id值,所以你可能也希望添加它。
$statement = $pdo->prepare("
INSERT INTO
cart
(prod_id, code, name, qty, price, colour, size, quantity)
VALUES
(:prod_id, :code, :name, :qty, :price, :colour, :size, :quantity)
");
foreach ($_SESSION['cart'] as $item)
{
$statement->execute(array(
':prod_id' => $item['prod_id'],
':code' => $item['code'],
... etc ...
));
}
如果需要,您也可以通过调用$ pdo-> lastInsertId();来检索cart_id(如果它是由SQL服务器生成的)。 ..我猜它已经指的是购物车,所以你也需要提供它。