我需要一些帮助才能在我的代码中找到错误。我正在尝试使用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()); ?>
答案 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_*
函数并转到MySQLi
或PDO
。