gpt4 book ai didi

php - php向数据库插入多条记录

转载 作者:行者123 更新时间:2023-11-30 00:50:28 25 4
gpt4 key购买 nike

我目前正在使用 php 购物车。我想将记录从一页插入到另一页。例如,在我点击产品页面的购买按钮后,我购买的产品将列在我的购物车中(我已经这样做了)。当我选择“结帐”时,它会将整个产品列表插入我的购物车。然而,我却做不到。当我选择“ checkout ”时,它只能插入一个产品/记录,而不是整个产品/记录列表。我可以知道如何将整个记录列表插入数据库吗?

下面是我的插入代码,我没有使用SESSION来存储;而且,我了解 SQL 注入(inject),但我尝试先做基本的工作,所以不会涉及 SQL 注入(inject)。有人可以帮我吗?我们将非常感谢您的帮助!(:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "checkout_form")) {

$insertSQL = sprintf("INSERT INTO transaction (username, items, packaging, qty, price, imagename, `date`) VALUES (%s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['username'], "text"),
GetSQLValueString($_POST['items'], "text"),
GetSQLValueString($_POST['package'], "text"),
GetSQLValueString($_POST['qty'], "int"),
GetSQLValueString($_POST['price'], "double"),
GetSQLValueString($_POST['imagename'], "text"),
GetSQLValueString($_POST['date'], "date"));

mysql_select_db($database_MyDatabase, $MyDatabase);
$Result1 = mysql_query($insertSQL, $MyDatabase) or die(mysql_error());
$insertGoTo = "transaction.php";

if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}

header(sprintf("Location: %s", $insertGoTo));
}

最佳答案

因此,您希望在结帐过程结束时将购物车中的所有产品存储到数据库中,但您不使用 session 作为临时持久性存储。您必须将您的购物车存储在某个地方(Cookie/ session ),以便在结账过程结束时保留整个购物车,因此您可以执行以下操作:

(请注意,这是伪代码,与良好的 oop 风格相去甚远,只是为了让您明白这个想法)

// Use-Case: Customer adds a product into his cart
$cart = $_SESSION['cart'];
$cart['positions'][] = array('item' => $_POST['item'], /* all your position information here */

// Use-Case: Customer wants to end the checkout process
foreach ($card['positions'] as $position) {
// Your datbase insert for a position here
}

关于php - php向数据库插入多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21025035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com