【发布时间】:2016-03-29 21:07:28
【问题描述】:
我正在尝试将脚本转换为 PDO 连接,但需要有关这部分脚本的帮助。我已经完成了大部分工作,但由于我必须交换该数组并将其带到会话中,所以他们坚持这部分。
if(!empty($_GET["action"])) {
switch($_GET["action"]) {
case "add":
if(!empty($_POST["quantity"])) {
$productByCode = $handler->query("SELECT * FROM tooted WHERE kood='" . $_GET["code"] . "'");;
$itemArray = array($productByCode[0]["code"]=>array('name'=>$productByCode[0]["name"], 'code'=>$productByCode[0]["code"], 'quantity'=>$_POST["quantity"], 'price'=>$productByCode[0]["price"]));
if(!empty($_SESSION["cart_item"])) {
if(in_array($productByCode[0]["code"],$_SESSION["cart_item"])) {
foreach($_SESSION["cart_item"] as $k => $v) {
if($productByCode[0]["code"] == $k)
$_SESSION["cart_item"][$k]["quantity"] = $_POST["quantity"];
}
} else {
$_SESSION["cart_item"] = array_merge($_SESSION["cart_item"],$itemArray);
}
} else {
$_SESSION["cart_item"] = $itemArray;
}
}
break;
case "remove":
if(!empty($_SESSION["cart_item"])) {
foreach($_SESSION["cart_item"] as $k => $v) {
if($_GET["code"] == $k)
unset($_SESSION["cart_item"][$k]);
if(empty($_SESSION["cart_item"]))
unset($_SESSION["cart_item"]);
}
}
break;
case "empty":
unset($_SESSION["cart_item"]);
break;
}
}
【问题讨论】:
-
您具体在哪个部分遇到了问题?
-
不能使用 PDO 作为数组 "不能使用 PDOStatement 类型的对象作为数组" $itemArray = array($productByCode[0]["code"]=>array('name'=>$ productByCode[0]["name"], 'code'=>$productByCode[0]["code"], 'quantity'=>$_POST["quantity"], 'price'=>$productByCode[0][ "价格"]));