我整晚都在检查我的语法,但我似乎无法看清楚是什么问题。我对这一切都比较新,并且会感谢可能提供的帮助。我得到的错误是
“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在''ID','Name','Option','Sides'附近使用正确的语法)VALUES(NULL ,'Denise','Chicken','Mashed Potat'在第1行“
我的代码如下:
<?php
include 'connect.php';
$name = $_POST['inputName'];
$opt = $_POST['inputOption'];
$side = $_POST['inputSides'];
if(!$_POST['Submit']) {
echo "Please fill out the form.";
header('Location: index.php');
} else {
mysql_query("INSERT INTO people ('ID','Name','Option','Sides')
VALUES(NULL,'$name','$opt','$side')") or die(mysql_error());
echo "User has been added.";
header('Location: index.php');
}
?>
答案 0 :(得分:1)
您的列使用了错误的identifiers:
('ID','Name','Option','Sides')
删除引号或将它们包裹在反引号中。
(`ID`,`Name`,`Option`,`Sides`)
另外,您目前的代码向SQL injection开放
使用mysqli
with prepared statements或PDO with prepared statements,他们更安全。
另一件事;如果您想要输入撇号,请使用stripslashes()
,包括mysql_real_escape_string()
。这种场合很可能会出现; 洞察。