PDO将会话值插入数据库

时间:2013-11-27 14:38:41

标签: php mysql session pdo

我正在开发基于会话的购物车。我想将会话中的购物车项目保存到我的数据库中。我需要帮助才能解决这个问题。我已经阅读过,但没有找到任何解决我的问题的线索。下面是2张图片,一张是样本数据库表,另一张是假定的会话变量。

使用PDO,我需要有关如何将这些值插入数据库的帮助。请注意,返回的数组数可能超过样本图像上的数组计数。任何提供的解决方案都应该是可扩展的,以尽可能多地保存购物车项目。

Sample Database Table

Sample Session Variables

1 个答案:

答案 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服务器生成的)。 ..我猜它已经指的是购物车,所以你也需要提供它。