Php 在表中插入SQL时出错
我在php中不断遇到这个错误。当我硬设置值时,它工作得很好,但似乎无法处理变量 错误:在ContactUS(姓名、电子邮件、订阅)中插入值(测试、,my@email.com, 1) 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用near'Anis的正确语法,my@email.com,1)“在第1行Php 在表中插入SQL时出错,php,mysql,Php,Mysql,我在php中不断遇到这个错误。当我硬设置值时,它工作得很好,但似乎无法处理变量 错误:在ContactUS(姓名、电子邮件、订阅)中插入值(测试、,my@email.com, 1) 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用near'Anis的正确语法,my@email.com,1)“在第1行 //创建连接 $conn=newmysqli($servername、$username、$password、$dbname); //检查连接 如果($conn->conne
//创建连接
$conn=newmysqli($servername、$username、$password、$dbname);
//检查连接
如果($conn->connect\u错误){
die(“连接失败:”.$conn->connect\U错误);
}
$sql=“将($name,$email,$subscribed)值插入ContactUS(姓名、电子邮件、订阅)中”;
if($conn->query($sql)==TRUE){
echo“新记录创建成功”;
}否则{
echo“Error:”.$sql.“
”$conn->Error;
}
应引用以下值:
$sql = "INSERT INTO ContactUS (name, email, subscribed) VALUES ('$name', '$email', '$subscribed')";
也许最好使用预先准备好的语句,因为这是为您自动完成的,您不会受到攻击。在变量周围使用引号,因为PHP将替换其值,留下无效查询:
$sql = "INSERT INTO ContactUS (name, email, subscribed) VALUES ('$name', '$email', '$subscribed')";
但是请使用预先准备好的语句,否则您将成为SQL注入值(“$name”、“$email”、“$subscribed”)的受害者
,但这将使SQL注入成为可能。阅读此内容。您的答案应该说明您的更改内容,以便OP在将来了解问题。您应该将第二句改为最好使用准备好的语句,因为这是自动完成的,并且您不会接受SQL注入。
啊,谢谢,我假设它们是变量,不需要引号。
$sql = "INSERT INTO ContactUS (name, email, subscribed) VALUES ('$name', '$email', '$subscribed')";