首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在尝试将数组插入数据库...(implode() [function.implode]:传递的参数无效)

正在尝试将数组插入数据库...(implode() [function.implode]:传递的参数无效)
EN

Stack Overflow用户
提问于 2012-12-06 11:51:42
回答 2查看 404关注 0票数 0

我有一个选择输入,你可以选择多个选项。不幸的是,我不知道如何将选定的值插入我的数据库中。这是我试图使用的代码,它给了我一个无效的参数,在我试图内爆它的时候传递给了我。

谢谢你的帮助。

这是我的php:

代码语言:javascript
复制
  $distribs = implode("|", $_POST["distributors"]); 
$distribs  = mysql_real_escape_string($distribs ); 


$distribs = mysql_real_escape_string($_POST['distributors']);
$sql="UPDATE customers SET distributors = '$distribs'
                                            WHERE id='$id'";

以下是我的选择:

代码语言:javascript
复制
  echo "<select name='distributors' multiple='multiple'>";
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-06 12:01:15

试着这样做

代码语言:javascript
复制
echo "<select name='distributors[]' multiple='multiple'>";
票数 1
EN

Stack Overflow用户

发布于 2012-12-06 12:02:40

$_POST["distributors"];不是数组,implode();需要数组才能起作用,

PHP.net Function for implode();

如果你的$_POST是一个正确的数组格式,那么内爆将把数组转换成一个单独的字符串。

如果您的$_POST包含来自<select> </select>的信息,那么提交将是一个单独的字符串,它可以插入到数据库中,而不需要使用implode();函数。

如果您确定您的$_POST是以数组格式提交的。按照DeDav的建议使用。

在填充$_POST时运行此命令。

分发服务器($_POST‘

’)

如果您使用多个select。DeDav建议再次使用:

echo "<select name='distributors[]' multiple='multiple'>";

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

https://stackoverflow.com/questions/13736663

复制
相关文章

相似问题

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