Php 基于mysqli所选值的查询

Php 基于mysqli所选值的查询,php,post,mysqli,Php,Post,Mysqli,我无法根据所选的选项插入值。因此,如果从下拉列表中选择类型1,则类型2会出现错误。如果选择类型2,则会出现错误/甚至在选择类型2时会尝试保留空值,但只会出现错误。如果选择类型1,则会插入数据 include_once('db.php'); if(isset($_POST['submit'])) { $id = mysqli_real_escape_string($db ,$_POST['id']); $Type = mysqli_real_e

我无法根据所选的选项插入值。因此,如果从下拉列表中选择类型1,则类型2会出现错误。如果选择类型2,则会出现错误/甚至在选择类型2时会尝试保留空值,但只会出现错误。如果选择类型1,则会插入数据

       include_once('db.php');

   if(isset($_POST['submit'])) {
       $id   = mysqli_real_escape_string($db ,$_POST['id']);
       $Type = mysqli_real_escape_string($db ,$_POST['type']);
       $Date = mysqli_real_escape_string($db ,$_POST['date']);
       $Treat = mysqli_real_escape_string($db ,$_POST['treat']);

       if($Type=="1")
       {
             $sql= "INSERT INTO set1(id,type,date,Treat)
                    VALUES('$id','$Type','$Date','$Treat')";

             $query  = mysqli_query($db, $sql) or die(mysqli_error($db));

             if(!$query)
                 echo "You have to fill all values";
             else     
                 echo  "successfully inserted";

       }
       else 
       {
             $sql= "INSERT INTO set1(id, type, date)
                    VALUES('$id', '$Type', '$Date')"; 

             $query = mysqli_query($db, $sql);

             if(!$query)
                echo mysqli_error();
             else     
                //echo  "successfully inserted";

             echo"<script> alert('Data inserted Successfully'); window.close(); window.opener.location.reload(true);</script>";
       }
   }
   ?>
未定义索引:这意味着

html中未定义1-name=treat

2-你的html应该是这样的

并改变如下

if(Type=="1")
       {

您的完整html

<td class="desc" width="46%" align="right">Treat</td>
  <td class="desc2" width="54%" align="left">
    <span class="desc1"> 
        <select name="treat" style="width:36mm">
            <option value="">Select</option>
            <?php 
            $sql = "SELECT treat FROM add_treat ORDER BY treat " ; 
            $result = mysqli_query($db,$sql);
            while ($row = mysqli_fetch_array($result)) { ?>
                <option value="<?php echo $row['treat']; ?>"></option><?php echo $row['treat']; ?></option>
           <?php }
            ?>
    </select>

对,您需要求值$Type和not Type,这可能是一个保留字,如果是这样,则始终求值为false。可能只有第二个$sql查询正在处理中

正确执行eval语句后,请仔细检查第一个$sql字符串:

"INSERT INTO set1(id,type,date,Treat)
                    VALUES('$id','$Type','$Date','$Treat',)"

不是有效的SQL语句-它的结尾有一个额外的逗号

请也指定错误。未定义的索引:在C:\wamp中处理\www@AlivetoDie是的,请提供任何注释。您的数据库字段是否允许NULL?您可以在从数组(如mysqli_real_escape_string$db、isset$\u POST['treat']?$\u POST['treat'])访问密钥之前检查密钥:请发布html
"INSERT INTO set1(id,type,date,Treat)
                    VALUES('$id','$Type','$Date','$Treat',)"