Php 如何从html中插入mysql选择多个
如何从HTML中插入MySQL选择多个 这是我的HTML代码:Php 如何从html中插入mysql选择多个,php,mysql,Php,Mysql,如何从HTML中插入MySQL选择多个 这是我的HTML代码: <select name="domaine[]" id="domaine" class="validate[required]" multiple> <option></option> <option value="WEB">WEB</option> <option value="Java2EE"
<select name="domaine[]" id="domaine" class="validate[required]" multiple>
<option></option>
<option value="WEB">WEB</option>
<option value="Java2EE">Java2EE</option>
<option value="android">android</option>
<option value="VB.Net">VB.Net</option>
<option value="iOS">iOS</option>
<option value="C++">C++</option>
</select>
这将为每个选中的选项插入一个条目
您也可以使用json_编码和json_解码,尽管我不建议这样做。使用PDO非常好,但您的代码仍然容易受到攻击<代码>值接受多个参数
if (isset($_POST['domaine']) && is_array($_POST['domaine'])) {
//(?,?),(?,?),(?,?) for 3 domaine
$values = implode(',', array_fill(0, count($_POST['domaine']), '(?,?)'));
$query = "INSERT INTO dev (cin, comp) VALUES $values";
$params = array();
foreach ($_POST['domaine'] as $d) {
array_push($params, $cin, $d);
}
$rep = $cdb->prepare($query);
$rep->execute($params);
}
您也可以准备一个插入语句并循环执行,但我认为这更有效。$\u POST[“域”]
是一个数组,因此将其“按原样”放在数据库记录中将导致“数组”。
您需要决定哪种类型的“数组->字符串”方法最适合您的应用程序,并在插入数据库之前使用它
最简单的方法是使用join($sep,$\u POST['domaine'])
或serialize($\u POST['domaine'])
)你刚才确实建议过。这不管用,因为它不会为每个项目创建任何记录。啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊。请,省得我在回答时把准备好的陈述页扔到OP上。这是工作,谢谢…..当我想对每个CIN进行更新时,我想把它保存在这样一个案例中:web、java2EE、android。。。怎样??及thanks@mamoud哦,我希望你早点告诉我。只需使用插入dev(cin,comp)值(?,)
和$params=array\u merge($cin,introde(',',$POST['domaine'])代码>
foreach ( $_POST["domaine"] as $aSelectedOption){
$rep=$cdb->prepare("insert into dev (cin,comp)values('$cin','".$aSelectedOption."') ");
$rep->execute();
}
if (isset($_POST['domaine']) && is_array($_POST['domaine'])) {
//(?,?),(?,?),(?,?) for 3 domaine
$values = implode(',', array_fill(0, count($_POST['domaine']), '(?,?)'));
$query = "INSERT INTO dev (cin, comp) VALUES $values";
$params = array();
foreach ($_POST['domaine'] as $d) {
array_push($params, $cin, $d);
}
$rep = $cdb->prepare($query);
$rep->execute($params);
}