[英]PHP Insert Command not working
嗨,大家好,请告诉我这段代码是否有错误。 这是行不通的。 它没有在我的数据库上添加任何内容。 谢谢!
$con = mysql_connect("localhost","root","pass");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("mytable",$con);
if(isset($_POST['add'])){
// Variables
$acc_class = $_POST['acc_class'];
$AddQuery = "INSERT INTO mytable ('acc_class') VALUES ('$acc_class')";
mysql_query($AddQuery, $con);
echo "Record Successfully Added!!";
};
mysql_close($con);
?>
<form action="add.php" method="post">
Account Classification:
<input required="required" placeholder="e.g Hotel, Restaurant" type="text" name='acc_class' size=15 />
<input type="submit" name='add' Value=' Add Record '/>
</form>
列名应该用反引号引起来,而不要用引号引起来
$AddQuery = "INSERT INTO mytable (`acc_class`) VALUES ('$acc_class')";
或删除引号
$AddQuery = "INSERT INTO mytable (acc_class) VALUES ('$acc_class')";
并且您更改了$acc_class = $_POST['acc_class'];
至
$acc_class = mysql_real_escape_string($_POST['acc_class']);
暂且。
mysql_*
函数已被弃用,并将从以后的PHP版本中删除。
最低限度:
$acc_class = $_POST['acc_class'];
$AddQuery = "INSERT INTO mytable ('acc_class') VALUES ('$acc_class')";
应该:
$acc_class = $_POST['acc_class'];
$AddQuery = "INSERT INTO mytable ('acc_class') VALUES ('".$acc_class."')";
同样,以这种方式将原始用户输入传递到SQL查询也是不安全的。 请阅读有关SQL注入的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.