Php 当它有外键时不再保存值,但当我删除外键约束时,它会保存。有什么问题吗?

Php 当它有外键时不再保存值,但当我删除外键约束时,它会保存。有什么问题吗?,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,起初,我能够将值保存到名为“tbl_spareparts”的表中,但当我添加外键时,它就不再保存了 tbl_备件(设备id)参照tbl_设备描述(id) 代码用于动态字段,您可以在其中添加或删除更多输入框 这是我的插入代码: <?php $connect = mysqli_connect("localhost", "root", "", "incidentreport"); if(isse

起初,我能够将值保存到名为“tbl_spareparts”的表中,但当我添加外键时,它就不再保存了

tbl_备件(设备id)参照tbl_设备描述(id)

代码用于动态字段,您可以在其中添加或删除更多输入框

这是我的插入代码:

     <?php
  $connect = mysqli_connect("localhost", "root", "", "incidentreport");

   if(isset($_POST['submit_data'])) {
   $description = $_POST['description'];
   $qty = $_POST['qty'];
                                          

   foreach ($description as $key => $value) {
   $save = "INSERT INTO tbl_spareparts(unit_id,description,qty) VALUES ('','".$value."', '".$qty[$key]."')";
    $query =    mysqli_query($connect, $save);
      }

     }


    ?>
空字符串“”在mySql中不等于NULL。
使用insert时,您尝试将
'
值放入列中,它可能不会引用
tbl\u unitdescription
表的任何id

如果
unit\u id
列可为空,请尝试

$save = "INSERT INTO tbl_spareparts(unit_id,description,qty) VALUES (NULL,'".$value."', '".$qty[$key]."')";
或者插入一个
unit\u id
值,该值引用
tbl\u unitdescription
表中一行中的现有id(在任何情况下都有效)