使用PHP将数据输入到MySQL数据库时遇到困难
问题描述:
我一直在检查自己的语法,但我似乎无法看到错误。我对这一切都比较陌生,希望可以提供帮助。我得到的错误是使用PHP将数据输入到MySQL数据库时遇到困难
“您的SQL语法错误;请查看与您的MySQL服务器版本相对应的手册,以找到在''ID','Name','选项”, '两岸')VALUES(NULL, '丹尼斯', '鸡', '泥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');
}
?>
答
您使用的是错误identifiers为您的列:
('ID','Name','Option','Sides')
删除引号或用反引号将它们包装起来。
(`ID`,`Name`,`Option`,`Sides`)
另外,您现在的代码是SQL injection。
使用mysqli
with prepared statements或PDO with prepared statements,他们更安全。
另一件事;如果你想输入撇号,请使用stripslashes()
,包括mysql_real_escape_string()
。这个场合可能会很好地呈现出来; 了解。
- 否则,SQL会抛出另一个错误。
非常感谢。我甚至没有意识到。现在一切都完美无瑕。 – 2014-09-26 02:06:32
@JohnMoran不客气John。 – 2014-09-26 02:06:47
@JohnMoran你可以接受我的答案并将其标记为已解决,这里是如何** http://meta.stackexchange.com/a/5235/**并欢迎来到Stack。 – 2014-09-26 10:25:04