1. 我无法将来自数组的数据插入数据库。
2. 我创建了一个db控制器类,定义了两个用于获取数据的函数和另一个用于插入数据的函数,其中一个是工作的,不是..
这是我的插入功能:
function insertQuery($query) {
$result = mysql_query($query);
}
PHP
case "add":
if(!empty($_POST["quantity"])) {
$productByCode = $db_handle->runQuery("SELECT * FROM tblproduct WHERE code='" . $_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"];
$db_handle->insertQuery("INSERT INTO addToCart (code,name,quantity,price) VALUES
($itemArray["code"],$itemArray["name"],$itemArray["quantity"],$itemArray["price"])");
}
} else {
$_SESSION["cart_item"] = array_merge($_SESSION["cart_item"],$itemArray);
}
} else {
$_SESSION["cart_item"] = $itemArray;
}
}
答案 0 :(得分:2)
你的变量正在抛弃封装。你可以像这样绕过它:
$db_handle->insertQuery("INSERT INTO addToCart (code,name,quantity,price) VALUES
({$itemArray["code"]},{$itemArray["name"]},{$itemArray["quantity"]},{$itemArray["price"]})");
但是,由于您似乎正在使用某种数据库包装器,因此请寻找一种绑定变量的方法。