我一直在研究这个并在网上搜索,两天的大部分时间都是空的。费了很多功夫,我可以将一个选中的值插入数据库;但是,如果我选中更多框,它仍然只会插入一个值。
这是我在输入用户页面上使用的代码(不包括表单标签):
<input type="checkbox" name="skills[]" value="1"> ActionScript<br />
<input type="checkbox" name="skills[]" value="2"> AppleScript <br />
现在我正在获取两个会话变量,以将所选技能链接到登录的用户:
$skills = $_POST['skills'];
$id = $_SESSION['Ind_ID'];
这是有一些小错误的代码:
for ($i=0; $i<sizeof($skills);$i++) {
// echo $skills[$i];
$query= "INSERT INTO individual_skills(Skills_ID,Ind_ID) VALUES (" .$skills[$i]. ",
".$_SESSION['Ind_ID'].")";
}
使用我的 echo $skills[$i] 我可以看到我正在循环并且可以在屏幕上显示尽可能多的用户输入;所以,这是个好消息。
问题是我无法将多个值插入 DB。我一次可以做一个值;但是,不超过一个。
看来我的查询非常接近。如果我选择只选择一个复选框,它就完美了;但是,如果我选择多个,它只输入最后一个值(因此,如果我选择了 10 个值,它会将最后一个值插入数据库)。
任何帮助,非常感谢。
我正在使用 PHP 和 MySQLi
根据反馈进行更新 FOR LOOP 这是更新后的循环。我在循环之外有查询,现在尝试追加到我的初始查询。错误表示查询的语法有问题。
$query= "INSERT INTO individual_skills(Skills_ID,Ind_ID) VALUES (" .$skills[$i]. ",
".$_SESSION['Ind_ID'].")";
for ($i=0; $i<sizeof($skills);$i++) {
//echo $skills[$i];
$query.= " VALUES (" .$skills[$i]. ",".$_SESSION['Ind_ID'].")";
}