【问题标题】:Query based on value selected mysqli根据选择的值查询mysqli
【发布时间】:2018-04-13 04:13:23
【问题描述】:

我无法根据选择的选项插入值。因此,如果从下拉列表中选择 Type1,否则选择类型 2。如果选择类型 2,则会出现错误/甚至在选择类型 2 时尝试保持空值,但只会出现错误.when type 1 is selected data is inserted.

       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>";
       }
   }
   ?>

【问题讨论】:

  • 请同时说明您的错误。
  • 未定义索引:在 C:\wamp\www 中处理
  • @AlivetoDie 是的,请任何 cmets
  • 您的数据库字段是否允许NULL
  • 您可以在从mysqli_real_escape_string($db ,(isset($_POST['treat'])?$_POST['treat']:''))等数组访问之前检查密钥

标签: php post mysqli


【解决方案1】:

是的,您需要评估 $Type 而不是 Type(它可能是保留字,如果是,则始终评估为 false)。可能只有您的第二个 $sql 查询正在处理中。

一旦你得到正确的 eval 语句,然后仔细检查第一个 $sql 字符串:

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

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

【讨论】:

    【解决方案2】:

    未定义的索引:对待这意味着

    1-name="treat" 没有在你的 html 中定义

    2-你的html应该是这样的

    &lt;input type="text" name="treat"&gt;

    并更改以下内容

    if(Type=="1")
           {
    

    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>
    

    【讨论】:

    • 请张贴你的html
    猜你喜欢
    • 1970-01-01
    • 2015-11-25
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多