Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在数据库中插入多个复选框值_Php_Mysql_Mysqli - Fatal编程技术网

Php 如何在数据库中插入多个复选框值

Php 如何在数据库中插入多个复选框值,php,mysql,mysqli,Php,Mysql,Mysqli,我一直在做这件事,在网上搜索,两天的大部分时间里都是空的。通过大量的努力,我可以在DB中插入一个复选框值;但是,如果我选中更多的框,它仍然只会插入一个值 以下是我在输入用户页面上使用的代码(不包括表单标记): 下面是一些小错误的代码: for ($i=0; $i<sizeof($skills);$i++) { // echo $skills[$i]; $query= "INSERT INTO individual_skills(Skills_ID,Ind_ID) VALUE

我一直在做这件事,在网上搜索,两天的大部分时间里都是空的。通过大量的努力,我可以在DB中插入一个复选框值;但是,如果我选中更多的框,它仍然只会插入一个值

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

下面是一些小错误的代码:

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

for($i=0;$i想想你的代码在做什么。每个循环,你都在重新定义
$query
变量,这样当你结束时,
$query
的最终值将是你最后一次检查的值

如果您仍然希望使用您编写的相同循环逻辑(这可能不是最有效的方法),那么您必须在循环中每次执行查询,以便执行您编写的每个查询


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

您很容易受到SQL注入的影响。使用准备好的语句并绑定skills\u id变量。谢谢……将做出这些更改。太好了。您我已经解释了原因。关于如何使此代码更高效(通过每个代码的循环听起来根本没有效率)的任何想法。请提前感谢。开始循环之外的
$query
文本
$query=“插入个人技能(技能ID,ID)
,然后在循环中,递归地附加到
$query
变量:
$query.=“值(“..$skills[$i]”,“$\u SESSION['Ind\u ID]”)"
。您必须确保循环逻辑的语法正确。最后,您将在一个
$query
变量中包含所有值,可以添加到数据库中。非常有趣的方法。我现在就开始尝试。非常感谢您的耐心和帮助。如果您有时间,可以为我指出正确的方向吗(link)了解如何附加到$query。非常感谢。首先,
$query
的原始定义不需要添加任何值,因为此时,
$i
是未定义的。另一个问题,正如我所说的,是每个
值(…)
需要用逗号分隔,因此循环语法是否正确取决于您
  $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'].")";
 }
$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'].")";
  }