我有一个购物车,我想保存$ _SESSION ['cart'],其中包含$ product_id => $用户选择的产品数量。 例如:
[cart] => Array
(
[366] => 2000
[215] => 456
)
首先我在我的数据库中插入IT之前序列化$ _SESSION ['cart']。
<?php
if($_SESSION['cart'])
{
$pedido= serialize($_SESSION['cart']);
}
?>
$sql1="insert into pedido(orden) values ('$pedido')";
现在在另一个页面中我想查看$ _SESSION ['cart']。所以我用:
$sql2 = "SELECT orden FROM pedido where id_pedido = '$ID'";
$rs2 = mysql_query($sql2, $conexio) or die("Error al consultar: ".mysql_error());
$row2 = mysql_fetch_row($rs2);
$id_usuario=$row2[0];
$_SESSION['cartguardado']= unserialize($id_usuario);
我知道在最后一步我做错了。任何身体都可以帮助我并帮助我找到错误吗?
答案 0 :(得分:0)
尝试输出$ row2
$sql2 = "SELECT orden FROM pedido where id_pedido = '$ID'";
$rs2 = mysql_query($sql2, $conexio) or die("Error al consultar: ".mysql_error());
$row2 = mysql_fetch_row($rs2);
print_r($row2);
$id_usuario=$row2[0];
$_SESSION['cartguardado']= unserialize($id_usuario);
如果$ row2 [0]为空,那么数据有问题
答案 1 :(得分:0)
我注意到您序列化了会话代码,但没有以可用于Php程序的方式呈现它,即
if($_SESSION['cart'])
{
$pedido= serialize($_SESSION['cart']);
}
根据我的小经验,我认为您需要首先对代码进行反序列化,以便您可以使用它,即
if($_SESSION['cart'])
{
$pedido = unserialize(serialize($_SESSION['cart']));
}