gpt4 book ai didi

php - 在数组中插入多行仅插入 1 条记录

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

我在将多个记录插入数据库时​​遇到问题。当我提交表格时,只插入了 1 条记录。我没有迭代我确定知道的发布数据。请帮忙!

PHP 代码:

        $cid = $_POST['item_cid'];
$pcode = $_POST['item_code'];
$pname = $_POST['item_name'];
$pprice = $_POST['item_price'];
$pqty = $_POST['item_qty'];

for ($i = 0; $i < count($cid); $i++) {

$cid = mysql_real_escape_string($cid[$i]);
$pcode = mysql_real_escape_string($pcode[$i]);
$pname = mysql_real_escape_string($pname[$i]);
$pprice = mysql_real_escape_string($pprice[$i]);
$pqty = mysql_real_escape_string($pqty[$i]);

mysqli_query($connection,"INSERT INTO orders (cid, ordprod_code, ordprod_name, ordprod_price, ordprod_qty, ord_date) VALUES ('$cid', '$pcode', '$pname', '$pprice', '$pqty', '')");
}
echo 'Records inserted...';

}

?>

HTML 代码:

<input type="hidden" name="item_cid[0]" value="22795" />
<input type="hidden" name="item_code[0]" value="LS-985" />
<input type="hidden" name="item_name[0]" value="some Product title 1" />
<input type="hidden" name="item_price[0]" value="9999" />
<input type="hidden" name="item_qty[0]" value="2" />

<input type="hidden" name="item_cid[1]" value="22795" />
<input type="hidden" name="item_code[1]" value="SL-055" />
<input type="hidden" name="item_name[1]" value="some Product title x12" />
<input type="hidden" name="item_price[1]" value="9390" />
<input type="hidden" name="item_qty[1]" value="1" />

<input type="hidden" name="item_cid[2]" value="22795" />
<input type="hidden" name="item_code[2]" value="WR-656" />
<input type="hidden" name="item_name[2]" value="some Product title 392" />
<input type="hidden" name="item_price[2]" value="10000" />
<input type="hidden" name="item_qty[2]" value="6" />

and so on

我也试过 name arrays 没有像这样的编号序列

<input type="hidden" name="item_cid[]" value="22795" />
<input type="hidden" name="item_code[]" value="WR-656" />
<input type="hidden" name="item_name[]" value="Some Title" />
<input type="hidden" name="item_price[]" value="10000" />
<input type="hidden" name="item_qty[]" value="6" />

但结果是一样的:(

最佳答案

You were mixing mysql and mysqli that might be causing an error

您还可以在 array_map 函数中使用 mysqli_real_escape_string

    $cid = array_map('mysqli_real_escape_string',$_POST['item_cid']);
$pcode = array_map('mysqli_real_escape_string',$_POST['item_code']);
$pname = array_map('mysqli_real_escape_string',$_POST['item_name']);
$pprice = array_map('mysqli_real_escape_string',$_POST['item_price']);
$pqty = array_map('mysqli_real_escape_string',$_POST['item_qty']);

你正在使用

   $cid = mysql_real_escape_string($_POST['item_cid']);
^^^

foreach($_POST['item_cid'] as $key => $value) {

$cid = mysqli_real_escape_string($connection,$value);
$pcode = mysqli_real_escape_string($connection,$_POST['item_code'][$key]);
$pname = mysqli_real_escape_string($connection,$_POST['item_name'][$key]);
$pprice = mysqli_real_escape_string($connection,$_POST['item_price'][$key]);
$pqty = mysqli_real_escape_string($connection,$_POST['item_qty'][$key]);

$sql = "INSERT INTO orders (cid, ordprod_code, ordprod_name, ordprod_price, ordprod_qty, ord_date) VALUES ('$value', '$pcode', '$pname', '$pprice', '$pqty', '')";
if ($connection->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}

检查它是否有效,如果需要任何进一步的更改,请告诉我

关于php - 在数组中插入多行仅插入 1 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29430043/

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