我需要将数组值中的MySQL数据插入到单个raw中。我已经尝试了下面的代码,但是我得到了错误:警告:内爆():传入了无效的参数,我该如何解决这个问题?或者,有没有其他方法可以使用PHP将数组值插入到MySQL中的单个raw?
<?php
foreach ($_POST['qty'] as $product_id => $qty) {
$product_id = implode(" ",$product_id);
$qty = implode(" ",$qty);
}
$q = mysqli_query($conn, "INSERT INTO product_order (product_id,qty) VALUES ('$product_id','$qty')");
?>

发布于 2016-09-29 16:59:27
如果您想将数组发布到数据库,那么使用php序列化function.It是最适合数组类型数据
$serialized_data = serialize(array('Math', 'Language', 'Science'));
echo $serialized_data . '<br>';发布于 2016-09-29 17:01:47
内爆函数的第二个参数接受数组,所以首先检查内爆函数,第二个参数是数组。
foreach ($_POST['qty'] as $product_id => $qty)这一行说明$product_id是关键字,而不是数组,因此内爆函数应该不起作用。
请提供$_POST['qty']转储
发布于 2016-09-29 17:04:48
试试这个:
<?php
$product = [];
$qtys = [];
if(!empty($_POST['qty'])){
foreach ($_POST['qty'] as $product_id => $qty) {
array_push($product, $product_id);
array_push($qtys, $qty);
}
$qty_final = implode(',',$qtys);
$product_id_final = implode(',',$product);
$q = mysqli_query($conn, "INSERT INTO product_order (product_id,qty) VALUES ('$product_id_final','$qty_final')");
}将逗号分隔的值保存在db中是非常糟糕的做法。
https://stackoverflow.com/questions/39765771
复制相似问题