簡體   English   中英

MySQL語法錯誤? 奇怪的錯誤

[英]MySQL Syntax error? Strange error

我需要一些幫助在我的代碼中找到錯誤。 我正在嘗試使用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());  ?>

你錯過了$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());  ?>

您在查詢中缺少單引號。

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

另外,請不要盲目地在您的查詢中插入變量。 您的代碼易受SQL注入攻擊,您應該考慮轉義用戶輸入。 更好的是,停止使用已棄用的mysql_*函數並轉移到MySQLiPDO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM