0

我需要一些帮助来查找我的代码中的错误。我正在尝试使用 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());  ?>
4

2 回答 2

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());  ?>
于 2013-08-31T04:27:09.080 回答
1

您在查询中缺少单引号。

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

另外,请不要盲目地将变量插入到您的查询中。您的代码容易受到SQL 注入的影响,您应该考虑转义用户输入。更好的是,停止使用已弃用的mysql_*功能并移至MySQLior PDO

于 2013-08-31T04:28:21.673 回答