我使用此代码从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');
?>
答案 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);
您需要更改默认值,例如value
,type
这不是问题,但我的建议是避免定义变量的默认字。
最终:
避免使用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
的属性,因为如果您尝试将数字插入只需要字母的字段,则查询将无效。