作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在使用以下 INSERT INTO :
$sql= "INSERT INTO orders (Orderdatum, Naam, Woonplaats, Straatnaam, Huisnummer, Telefoon, Aantal, Prijs)
VALUES (now(), '$_POST[naam]','$_POST[woonplaats]','$_POST[straatnaam]','$_POST[huisnummer]','$_POST[telefoonnummer]', '$total_number', '$total_price')
";
mysql_query($sql);
还有:
foreach ($products as $key => $product){
$number = isset($_POST[$key])?$_POST[$key]:'';
if ($number > 0){
$sql2 = "INSERT INTO ordered_products (Ordernr, Product, Aantal) VALUES (last_insert_id(), '$product', '$number')";
mysql_query($sql2);
}
}
将客户订单信息放入一个表中,并将订购的产品放入另一个表中。使用正确的订单号。
这一切都正常工作。但我被告知第二段代码 foreach
不应该像我现在那样完成。
因为从长远来看,如果我添加更多值并创建更大的数组,它会带来问题。
所以我想知道使用这个foreach
的正确方法是什么?
别误会我的意思,我的代码正常工作,没有问题。但有人告诉我这不是正确的方法
最佳答案
试试这个:
$InsertData = array();
$Last_Insert_Id = mysql_insert_id();
foreach ($products as $key => $product){
$number = isset($_POST[$key])?$_POST[$key]:'';
if ($number > 0){
$InsertData[] = "('{$Last_Insert_Id}', '{$product}', '{$number}')";
}
}
$sql2 = "INSERT INTO ordered_products (Ordernr, Product, Aantal)
VALUES " . implode(", ", $InsertData) . " ";
mysql_query($sql2);
关于php - 在我的数组中使用 INSERT INTO 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21851745/
我是一名优秀的程序员,十分优秀!