MySQL语法错误?奇怪的错误

时间:2013-08-31 04:22:50

标签: php mysql sql database xampp

我需要一些帮助才能在我的代码中找到错误。我正在尝试使用Xammp创建一个数据库。 它给了我这个错误:

SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在第1行“,”787'附近使用正确的语法 (787是我在ResearchCost部分输入的内容)

这是我的代码:

    <?php/*mysql_connect(servername,username,password); */
    mysql_connect("localhost","root","admin") or die(mysql_error());  
    mysql_select_db("EndlessSpace") or die(mysql_error());  
    $NodeName = $_POST["NodeName"];   
    $Quadrant = $_POST["Quadrant"];  
    $ResearchOpts = $_POST["ResearchOpts"];   
    $Effects = $_POST["Effects"];   
    $CostOnUpgrade = $_POST["CostOnUpgrade"];  
    $Influence = $_POST["Influence"];   
    $ResearchCost = $_POST["ResearchCost"];   
    $query=mysql_query("INSERT INTO General (NodeName,Quadrant,ResearchOpts,Effects,CostOnUpgrade,Influence,ResearchCost) VALUES ('$NodeName','$Quadrant','$ResearchOpts','$Effects','$CostOnUpgrade',$Influence','$ResearchCost')") or die(mysql_error());  ?>

2 个答案:

答案 0 :(得分:1)

您错过了$Influence中的单引号。所以改变你的查询

$query=mysql_query("INSERT INTO General (NodeName,Quadrant,ResearchOpts,
Effects,CostOnUpgrade,Influence,ResearchCost) 
VALUES ('$NodeName','$Quadrant','$ResearchOpts','$Effects','$CostOnUpgrade',
'$Influence','$ResearchCost')") or die(mysql_error());  ?>

答案 1 :(得分:1)

您的查询中缺少单引号。

VALUES ('$NodeName',
        '$Quadrant',
        '$ResearchOpts',
        '$Effects',
        '$CostOnUpgrade',
--->     $Influence',
        '$ResearchCost')

另外,请不要盲目地在您的查询中插入变量。您的代码容易受SQL injection攻击,您应该考虑转义用户输入。更好的是,停止使用已弃用的mysql_*函数并转到MySQLiPDO