首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数组插入到带有foreach的单个MySQL raw

问将数组插入到带有foreach的单个MySQL raw
EN

Stack Overflow用户
提问于 2016-09-29 16:55:52
回答 6查看 164关注 0票数 0

我需要将数组值中的MySQL数据插入到单个raw中。我已经尝试了下面的代码,但是我得到了错误:警告:内爆():传入了无效的参数,我该如何解决这个问题?或者,有没有其他方法可以使用PHP将数组值插入到MySQL中的单个raw?

代码语言:javascript
复制
<?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')");

?>

​

​

EN

回答 6

Stack Overflow用户

发布于 2016-09-29 16:59:27

如果您想将数组发布到数据库,那么使用php序列化function.It是最适合数组类型数据

代码语言:javascript
复制
    $serialized_data = serialize(array('Math', 'Language', 'Science'));  
echo  $serialized_data . '<br>';
票数 0
EN

Stack Overflow用户

发布于 2016-09-29 17:01:47

内爆函数的第二个参数接受数组,所以首先检查内爆函数,第二个参数是数组。

代码语言:javascript
复制
foreach ($_POST['qty'] as $product_id => $qty)

这一行说明$product_id是关键字,而不是数组,因此内爆函数应该不起作用。

请提供$_POST['qty']转储

票数 0
EN

Stack Overflow用户

发布于 2016-09-29 17:04:48

试试这个:

代码语言:javascript
复制
<?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中是非常糟糕的做法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39765771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档