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) {
$name = mysql_real_escape_string($v['name']);
$code = mysql_real_escape_string($v['code']);
$qunatity = mysql_real_escape_string($v['quantity']);
$price = mysql_real_escape_string($v['price']);
$con = mysqli_connect("retail", "RS", "....", "rs");
$query = "insert into addtocart(name,code,quantity,price) values('$name','$code','$quantity','$price')";
mysql_query($sql) or exit(mysql_error());
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;
答案 0 :(得分:0)
你无法直接将数组插入mysql,因为mysql并不了解php数据类型。 Mysql只能理解SQL。因此,要将数组插入mysql数据库,必须将其转换为sql语句。这可以手动完成,也可以通过库完成。输出应该是INSERT语句。
这是一个标准的mysql插入语句。
INSERT INTO TABLE1(COLUMN1, COLUMN2, ....) VALUES (VALUE1, VALUE2..)
如果您有一个名为addtocart
的表格,其中的列会显示在您的阵列的键中,您可以使用此小片段插入。以下是将数组转换为此语句的方式。
$columns = implode(", ",array_keys($insData));
$escaped_values = array_map('mysql_real_escape_string', array_values($insData));
$values = implode(", ", $escaped_values);
$sql = "INSERT INTO `addtocart`($columns) VALUES ($values)";
我希望它对你有用。请让我知道任何错误发生..
答案 1 :(得分:0)
如果要将数组保存到mysql,则必须序列化()数组,然后插入到mysql
当你从mysql返回它时,使用unserialize()数组再返回它就可以了吗