PDO 多个 select 问题

PDO multiple select issue

我在我的数据库中插入一个表单多个 select 值,但它只插入最后一个 selected 值。我该如何解决这里是我的代码。有人能告诉我代码有什么问题以及为什么它只插入最后一个值。谢谢

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>  

您不能直接将 array$_POST['skill'] 插入到数据库字段中,但是您可以例如将数组中的值连接到一个字符串中,然后将该字符串插入到数据库字段中。

所以你可以尝试这样的事情:

$skills = join(',', $_POST['skill']);
$stmt->bindParam(':skill', $skills);

当然还有一些其他的方法(比如将不同的值插入数据库table的不同rows/datasets)。