gpt4 book ai didi

php - 根据提供的数量将多个相同的行插入 mysql 数据库

转载 作者:行者123 更新时间:2023-11-29 21:38:11 25 4
gpt4 key购买 nike

我想根据网络表单的数量将 N 个相同的行存入 MySQL 数据库目前,插入脚本一次仅添加一行(“1”是此数量输入的默认值)

这是这个脚本:

<?php 
require 'connect.php';

// define variables and set to empty values
$cosmInOut_name = $cosmInOut_dateIn = $cosmInOut_expire = $cosmInOut_priceIn = $cosmInOut_4sale = $cosmInOut_dateOut = $cosmInOut_qtyOut = $cosmInOut_priceOut = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
$cosmInOut_name = test_input($_POST["cosmInOut_name"]);
$cosmInOut_dateIn = test_input($_POST["cosmInOut_dateIn"]);
$cosmInOut_qtyIn = test_input($_POST["cosmInOut_qtyIn"]);
$cosmInOut_expire = test_input($_POST["cosmInOut_expire"]);
$cosmInOut_priceIn = test_input($_POST["cosmInOut_priceIn"]);
$cosmInOut_4sale = test_input($_POST["cosmInOut_4sale"]);
$cosmInOut_dateOut = test_input($_POST["cosmInOut_dateOut"]);
$cosmInOut_qtyOut = test_input($_POST["cosmInOut_qtyOut"]);
$cosmInOut_priceOut = test_input($_POST["cosmInOut_priceOut"]);
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}

$inserted = 0;
while ($cosmInOut_qtyIn > $inserted) {
$sql = "INSERT INTO cosmInOut (cosmInOut_name, cosmInOut_dateIn, cosmInOut_expire, cosmInOut_priceIn, cosmInOut_4sale, cosmInOut_dateOut, cosmInOut_qtyOut, cosmInOut_priceOut)" .
"VALUES('{$cosmInOut_name}', '{$cosmInOut_dateIn}', '{$cosmInOut_expire}', '{$cosmInOut_priceIn}', '{$cosmInOut_4sale}', '{$cosmInOut_dateOut}', '{$cosmInOut_qtyOut}', '{$cosmInOut_priceOut}')";
$inserted++;
}
if ($conn->query($sql) === TRUE) {
include('../head.php');
echo '
<script> some script</script>
';
include('../footer.php');

} else {
echo 'Error' . $conn->error;
}

$conn->close();
?>

显然,我的 while 函数不起作用。我该如何修复它?谢谢

最佳答案

此时,您重复创建插入字符串 $cosmInOut_qtyIn 多次,然后只需插入一次。

您可以在循环外创建一次查询字符串,然后在循环内重复该查询。

另一个解决方案是将您想要多次添加 $cosmInOut_qtyIn 的值(以逗号分隔)附加到查询字符串中,然后仅运行一次查询。类似的东西:

$sql = "INSERT INTO cosmInOut (cosmInOut_name, cosmInOut_dateIn, cosmInOut_expire, cosmInOut_priceIn, cosmInOut_4sale, cosmInOut_dateOut, cosmInOut_qtyOut, cosmInOut_priceOut) VALUES ";
$sqlv = "('{$cosmInOut_name}', '{$cosmInOut_dateIn}', '{$cosmInOut_expire}', '{$cosmInOut_priceIn}', '{$cosmInOut_4sale}', '{$cosmInOut_dateOut}', '{$cosmInOut_qtyOut}', '{$cosmInOut_priceOut}')";

$inserted = 0;
while ($cosmInOut_qtyIn > $inserted)
{
if ($inserted > 0)
$sql = $sql . ",";
$sql = $sql . $sqlv;
$inserted++;
}

关于php - 根据提供的数量将多个相同的行插入 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34749139/

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