我正在为opencart用户开发一个Android应用程序。我需要解码购物车信息并从oc_customer表中识别产品ID数量等。 我试过这个
$sql = "SELECT cart FROM oc_customer WHERE email='an registered user email';";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) == 1) {
$row = mysqli_fetch_assoc($result);
var_dump(unserialize(base64_decode($row['cart'])));
}
我收到此错误
unserialize(): Error at offset 0 of 36 bytes
任何人都可以告诉我如何完成这项工作
答案 0 :(得分:1)
(基于之前的问题,我假设您使用的是OpenCart 3.0.2.0。)
要获取客户的购物车内容,请根据来自oc_customers
表格的电子邮件获取客户的ID,然后在oc_cart
表格中查找该客户ID。 (这是在OpenCart 2.3+中完成的方式; oc_customers表的cart字段用于旧版本的OpenCart。)
答案 1 :(得分:0)
经过几项研究,我发现我错误地解码了购物车专栏的全文。 之后,不是解码全文,只解码双引号文本和反序列化,这给了我一个包含product_id的数组。
此外,Opencart有一个单独的oc_cart表,没有这些复杂功能。使用版本2.3+避免了所有这些解码
答案 2 :(得分:-1)
您无需使用unserialize(($row['cart']);
来解析购物车信息。只需使用
{{1}}