gpt4 book ai didi

php - 如何将多个复选框值插入数据库

转载 作者:行者123 更新时间:2023-11-29 14:05:27 26 4
gpt4 key购买 nike

这两天我一直在研究这个问题并在网上搜索,但一无所获。经过一番努力,我可以将一个复选框值插入到数据库中;但是,如果我选中多个复选框,它仍然只会插入一个值。

这是我在输入用户页面上使用的代码(不包括表单标签):

  <input type="checkbox" name="skills[]" value="1"> ActionScript<br />
<input type="checkbox" name="skills[]" value="2"> AppleScript <br />

现在我正在获取两个 session 变量,将所选技能链接到登录的用户:

  $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] 我可以看到我正在循环并且可以在屏幕上显示尽可能多的用户输入;所以,这是个好消息。

问题是我无法让它将多个值插入数据库。我一次只能做一个值;但是,不超过一个。

看来我的查询非常接近。如果我选择只选择一个复选框,效果会很完美;但是,如果我选择多个值,它只会输入最后一个值(因此,如果我选择了 10 个值,它会将最后一个值插入到数据库中)。

任何帮助,非常感谢。

我正在使用 PHP 和 MySQLi

根据循环反馈进行更新这是更新后的循环。我在循环之外有查询,现在尝试附加到我的初始查询。错误表示查询的语法有问题。

$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'].")";
}

最佳答案

想想你的代码在做什么。每个循环,您都会重新定义 $query 变量,这样当您到达末尾时,$query 的最终值将是您最后检查的值。

如果您仍然想使用已编写的相同循环逻辑(这可能不是最有效的方法),那么您必须每次循环内执行查询,因此您编写的每个查询都将被执行。

更准确地说,这种困惑似乎源于这样一个事实:您还没有完全发现为变量赋值和将变量传递给函数执行之间的区别。

关于php - 如何将多个复选框值插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14424665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com