0

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

谢谢你的帮助...

这是我的php:

  $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'";

这是我的选择:

  echo "<select name='distributors' multiple='multiple'>";
4

2 回答 2

1

试试这样

echo "<select name='distributors[]' multiple='multiple'>";
于 2012-12-06T04:01:14.633 回答
1

$_POST["distributors"];不是数组,implode(); 需要数组才能运行,

PHP.net 函数 implode();

如果您$_POST的数组格式正确;然后 implode 会将数组转换为单个字符串。

如果您的 $_POST 包含来自 a 的信息,<select> </select>则提交将是一个字符串,可以将其插入数据库而无需您的implode();函数。

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

填充 $_POST 后运行此命令。

print_r($_POST['经销商'])

如果您使用多项选择。再次使用DeDav建议:

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

于 2012-12-06T04:02:40.013 回答