数据未插入数据库表

时间:2019-03-20 10:55:06

标签: php mysqli

当我选择可扩展单选按钮并按保存按钮时,它应将其数据保存到库存状态表,但数据不会插入到库存状态表中。我看到过类似的问题,但仍然无法找出问题的原因。

      <?php 

         if($_POST['save']){


            if ($_POST['supply_type'] == "expandable"){
                $insertI = (mysqli_query($connect, "INSERT INTO inventory_status(stock_prop_no, unit, description, quantity, price) VALUES ('".$sp_num."','".$unit."','".$desc."','".$qty."','".$cost."')"));
        }
            $pr_no      = $_POST['pr_no'];
            $s = mysqli_query($connect,"SELECT purchase_no FROM `sms_request` WHERE purchase_no = '".$pr_no."'");
             if(mysqli_num_rows($s) > 0)
        {
             echo"
                    <script type='text/javascript'>
                    alert('Purchase No. Existed!');
                    window.location.href = 'sms_supply management.php';
                    </script>
                ";
        }

        else{
            $fcluster   = $_POST['fund_cluster'];
            $osection   = $_POST['office_section'];
            $pr_no      = $_POST['pr_no'];
            $rcode      = $_POST['responsibility_code'];
            $desig      = $_POST['desig'];
            $requester  = $_POST['requester'];
            $loc        = $_POST['loc'];
            $purpose    = $_POST['prpose'];
            $ename      = $_POST['entity_name'];
            $date       = $_POST['date'];
            $dateA      = date("Y-m-d",strtotime($date));
            $radioo     = $_POST['supply_type'];


            $ins = mysqli_query($connect, "INSERT INTO sms_purchaserecord(purchase_no, supply_type) VALUES ('".$pr_no."', '".$radioo."')");
            $insS = mysqli_query($connect, "INSERT INTO sms_ris(purchase_no, ris_num) VALUES ('".$pr_no."', '".$pr_no."')");
            $insert = mysqli_query($connect, "INSERT INTO sms_request(purchase_no,sms_request.date, entity_name, fund_cluster, office_section, responsibility_code, purpose, stat) VALUES ('".$pr_no."','".$dateA."','".$ename."', '".$fcluster."', '".$osection."', '".$rcode."','".$purpose."', '1')");
            $inS = mysqli_query($connect, "INSERT INTO sms_iar(iar_num, purchase_no) VALUES ('".$pr_no."', '".$pr_no."')");

            $select = mysqli_query($connect, "SELECT request_IDnum FROM sms_request WHERE purchase_no = '".$pr_no."'");
            while ($row = mysqli_fetch_array($select)){
                $rnum = $row['request_IDnum'];
            }

            $select2 = mysqli_query($connect, "SELECT * FROM sms_branchloc WHERE loc_ID_no = '".$loc."'");
            while ($row1 = mysqli_fetch_array($select2)){
                $loc_num = $row1['loc_ID_no'];
            }

            if ($rnum != NULL AND $loc_num != NULL){
                $insert2 = mysqli_query($connect, "INSERT INTO sms_requester(request_IDnum, name, loc_ID_no, position) VALUES ('".$rnum."', '".$requester."', '".$loc_num."', '".$desig."')");
            }                

        foreach ($_POST['sp_num'] as $row=>$sp_numm) {
          $sp_num = $sp_numm;
          $unit = $_POST['unt'][$row];
          $desc = $_POST['sdesc'][$row];
          $qty = $_POST['sqty'][$row];
          $cost = $_POST['cost'][$row];

          $query = mysqli_query($connect,"INSERT INTO sms_supply (supply_qty,purchase_no,unit_cost,supply_unit,supply_desc,stockproperty_num) VALUES ('".$qty."','".$pr_no."', '".$cost."', '".$unit."','".$desc."', '".$sp_num."')");

        }    
         echo"
                    <script type='text/javascript'>
                    alert('Purchase Request Save.');
                    window.location.href = 'sms_supply management.php';
                    </script>
                ";
            }
    }

这是我们的stock_status表的表结构:enter image description here

1 个答案:

答案 0 :(得分:0)

我在您的以下查询中发现了一个问题。 sms_request.date应该是sms_request_date

$insert = mysqli_query($connect, "INSERT INTO sms_request(purchase_no,sms_request.date, entity_name, fund_cluster, office_section, responsibility_code, purpose, stat) VALUES ('".$pr_no."','".$dateA."','".$ename."', '".$fcluster."', '".$osection."', '".$rcode."','".$purpose."', '1')");

其他东西

所有这些'".$sp_num."','".$unit."','".$desc."','".$qty."','".$cost."')"变量均未定义。因此您必须循环处理此条件。

对于

       foreach ($_POST['sp_num'] as $row=>$sp_numm) {
          $sp_num = $sp_numm;
          $unit = $_POST['unt'][$row];
          $desc = $_POST['sdesc'][$row];
          $qty = $_POST['sqty'][$row];
          $cost = $_POST['cost'][$row];

          if ($_POST['supply_type'] == "expandable"){
                $insertI = (mysqli_query($connect, "INSERT INTO inventory_status(stock_prop_no, unit, description, quantity, price) VALUES ('".$sp_num."','".$unit."','".$desc."','".$qty."','".$cost."')"));
        }
          $query = mysqli_query($connect,"INSERT INTO sms_supply (supply_qty,purchase_no,unit_cost,supply_unit,supply_desc,stockproperty_num) VALUES ('".$qty."','".$pr_no."', '".$cost."', '".$unit."','".$desc."', '".$sp_num."')");

        }