我有一个选择输入,你可以选择多个选项。不幸的是,我不知道如何将选定的值插入我的数据库中。这是我试图使用的代码,它给了我一个无效的参数,在我试图内爆它的时候传递给了我。
谢谢你的帮助。
这是我的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'>";发布于 2012-12-06 12:01:15
试着这样做
echo "<select name='distributors[]' multiple='multiple'>";发布于 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'>";
https://stackoverflow.com/questions/13736663
复制相似问题