PHP:通过选择插入数据使用PHP标记HTML

时间:2017-12-04 09:31:50

标签: php mysql

我使用此代码从html中的select标签插入数据选择,但是当我在文本输入中输入一个值编号时,我不能完美地工作,我希望有人帮助我。否则,当我点击add_btn没有值时,在MySQL数据库中添加数据插入。

HTML->

  <form id="myForm" action="userInfo.php" method="post">
                    <select name="type" class="add__type" >
                        <option value="inc" selected>+</option>
                        <option value="exp">-</option>
                    </select>                
                 <select  name="description" class="add__description" title="h" >
                   <option  value="Food">Food</option>
                   <option  value="Salary">Salary</option>
                   <option  value="Home">Home</option>
                   <option  value="Car">Car</option>
                   <option  value="Education">Education</option>
                   <option  value="Gift">Gift</option>
                   <option  value="Travle"> Travle </option>
                   <option  value="Fun">Fun</option>
                        </select>
                <input name="value" type="number" class="add__value">
           <button class="add__btn"><i class="ion-ios-checkmark-outline"></i></button>
            </form>
     <script src="script/jquery-1.8.1.min.js" type="text/javascript"></script>
    <script src="script/my_script.js" type="text/javascript"></script>

PHP-&GT; userinfo.php

  <?php
        include_once('db.php');

        $type = $_POST['type'];
        $description = $_POST['description'];
        $value = $_POST['value'];

        if(mysql_query("INSERT INTO budget VALUES('$type', '$description' , '$value')"))
          echo "Successfully Inserted";
        else
          echo "Insertion Failed";
?>

PHP - &gt; db.php中

<?php
      $conn = mysql_connect ('localhost', 'root', '');
      $db   = mysql_select_db ('test');
?>

2 个答案:

答案 0 :(得分:1)

如果在数据库表中有自动增量值,如id,则需要在值字段内声明,如下所示

INSERT INTO budget VALUES('','$type', '$description' , '$value')

如果您想要在查询中插入什么类型的错误,则需要检查错误是什么。在你的,如果条件是

if(mysql_query("INSERT INTO budget VALUES('','$type', '$description' , '$value')"))
   echo "Successfully Inserted";
else
   echo "Error: <br>" . mysql_error($conn);

您需要更改默认值,例如valuetype这不是问题,但我的建议是避免定义变量的默认字。

最终:

避免使用MySQL,因为从PHP 5.5.0开始不推荐使用Mysql扩展,并且自PHP 7.0.0起已被删除。代替

答案 1 :(得分:-1)

您使用过时的方法来执行此操作。看看这里:http://php.net/manual/it/book.mysqli.php

我建议您在将数据插入数据库之前检查数据。你没有检查任何东西来保护你到SqlInjection(你可以从一个简单的mysql_real_escape_string开始。)

从此

更正第5行

$value = $_POST['value'];

到这个

$value = $_POST['description'];

数据可能无法成功插入的事实可能是由于数据库出现问题。请确保您的列具有接受varchar而不是text的属性,因为如果您尝试将数字插入只需要字母的字段,则查询将无效。