大家好,我的代码我遇到过这样的错误: """您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以获得在''附近使用的正确语法。在第1行"""
<?php
$con = mysql_connect("localhost","root","");
if(!$con){
die('could not connect' .mysql_error());
}
mysql_select_db("phptest",$con);
$insert="INSERT INTO persons (FirstName,LastName)VALUES('$_POST[firstname]','$_POST[lastname]'";
if(!mysql_query($insert,$con))
{
die('error:' .mysql_error());
}
echo "1 record added";
mysql_close($con);
?>
简单的代码,但我不知道哪里错了......
答案 0 :(得分:2)
您忘记了陈述中的结束)
INSERT INTO persons (FirstName,LastName)
VALUES('$_POST[firstname]','$_POST[lastname]')
和
您需要转义用户输入
使用准备好的陈述
答案 1 :(得分:0)
请更正此语法,如下所示
$insert="INSERT INTO persons (FirstName,LastName)VALUES('$_POST[firstname]','$_POST[lastname]')"
;
答案 2 :(得分:0)
您尚未关闭打开TO INSERT VALUES的括号。您缺少)
。关闭此括号并使用以下代码
<?php
$con = mysql_connect("localhost","root","");
if(!$con){
die('could not connect' .mysql_error());
}
mysql_select_db("phptest",$con);
$insert="INSERT INTO persons (FirstName,LastName)VALUES('$_POST[firstname]','$_POST[lastname]')";
if(!mysql_query($insert,$con))
{
die('error:' .mysql_error());
}
echo "1 record added";
mysql_close($con);
?>
我应该建议你不要使用用户输入来插入数据。这可以让黑客更容易破解你的SQL,这是通过sql注入。
SQL注入:它是什么?
SQL注入是黑客用来从组织窃取数据的众多Web攻击机制之一。它可能是当今使用的最常见的应用层攻击技术之一。正是这种攻击类型利用了Web应用程序的不正确编码,允许黑客将SQL命令注入登录表单,以允许他们访问数据库中保存的数据。
答案 3 :(得分:-1)
您缺少)
$insert="INSERT INTO persons (FirstName,LastName)VALUES('$_POST[firstname]','$_POST[lastname]')";