0
我在我的数据库中插入一个表单多选值,但它只插入最后选定的值。我在这里如何解决这个问题是我的代码。有人可以告诉我代码有什么问题,以及为什么只插入最后一个值。由于PDO多选问题
PHP:
$stmt = $conn->prepare("INSERT INTO portfolio (title, descrption,categories,skill, images) VALUES (:title, :editor1,:Category,:skill,:fileToUpload)");
$stmt->bindParam(':title', $title);
$stmt->bindParam(':editor1', $dec);
$stmt->bindParam(':skill',$value);
$stmt->bindParam(':Category',$cat);
$stmt->bindParam(':fileToUpload',$pic);
$title = $_POST['title'];
$dec = $_POST['editor1'];
$skill=$_POST['skill'];
foreach ($skill as $value)
{
echo $value;
}
$cat= $_POST['Category'];
$pic=($_FILES['fileToUpload']['name']);
$stmt->execute();
echo "Portfolio records created successfully";
}
}
HTML:
<div class="form-group">
<label>Skills</label>
<select id="ms" name="skill[]" multiple="multiple">
<option>Html5</option>
<option>Css3</option>
<option>Illustrator</option>
<option>Photoshop</option>
<option>Coral Draw</option>
<option>Jquery</option>
<option>Javascript</option>
<option>Wordpress</option>
<option>Magento</option>
<option>Android</option>
<option>Woocommerce</option>
<option>PHP</option>
</select>
</div>
我们可以看你的表格吗? –
您必须在选项标签中给出值,例如: 所以当它被提交时,该值将被保存在变量 –
中您正在使用'$ stmt-> bindParam (':skill',$ value);'但是如何以及在哪里初始化'$ value'? – gus27