2013-08-31 9 views
0

내 코드에서 오류를 찾는 데 도움이 필요합니다. Xammp로 데이터베이스를 만들려고합니다. 이 오류가 발생합니다 :MySQL 구문 오류? 이상한 오류

SQL 구문에 오류가 있습니다.

: 라인 1 (787에서), "근처에 사용할 수있는 권리 구문에 대한 '787'을 당신에게 MySQL 서버 버전에 해당하는 설명서를 확인하는 것은 내가 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

가능한 복제본 : http://stackoverflow.com/questions/16607439/mysql-server-version-for-the-right-syntax-to-use-near-id –

+0

연구비에서 작은 따옴표를 삭제하십시오. 나는 그 데이터 형이 숫자 형일 것이라고 생각한다. 문자열이 아닙니다. $ Influence에는 작은 따옴표 하나만 있습니다. $ 영향 이전에 작은 따옴표를 추가하십시오 ' –

+1

** 경고 : **'mysql_' 함수는 PHP 5.5.0부터 사용되지 않으며 앞으로 제거 될 것입니다. 대신 [MySQLi] (http://www.php.net/manual/en/book.mysqli.php) 또는 [PDO_MySQL] (http://www.php.net/manual/en/ref.pdo- mysql.php) 확장자가 사용되어야한다. – bansi

답변

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()); ?> 
+0

쉼표가 있습니다 ...하지만 그는 작은 따옴표를 놓쳤습니다 :) –

+0

도와 주셔서 감사합니다! 나는 그것을 과장하기위한 그런 바보 같은 느낌이 든다! 나를 오래 내버려 두었습니다! –

+0

Deepu, 답을 더 읽기 쉽게 편집했습니다. 원할 경우 언제든지 변경할 수 있습니다. –

1

처럼 쿼리를 변경합니다.

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

또한 변수에 맹목적으로 변수를 삽입하지 마십시오. 귀하의 코드는 SQL injection에 취약하므로 사용자 입력을 철회해야합니다. 더 이상 아직 사용되지 않는 mysql_* 함수 사용을 중지하고 MySQLi 또는 PDO으로 이동하십시오.