使用PHP将数据输入MySQL数据库时出现问题

时间:2014-09-26 02:03:28

标签: php mysql sql

我整晚都在检查我的语法,但我似乎无法看清楚是什么问题。我对这一切都比较新,并且会感谢可能提供的帮助。我得到的错误是

  

“您的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');
    }
?>

1 个答案:

答案 0 :(得分:1)

您的列使用了错误的identifiers

('ID','Name','Option','Sides')

删除引号或将它们包裹在反引号中。

(`ID`,`Name`,`Option`,`Sides`)

另外,您目前的代码向SQL injection开放 使用mysqli with prepared statementsPDO with prepared statements他们更安全

另一件事;如果您想要输入撇号,请使用stripslashes(),包括mysql_real_escape_string()。这种场合很可能会出现; 洞察

  • 否则,SQL将抛出另一个错误。