2014-08-29 48 views
0

我試圖運行一個更新,原因我不明白爲什麼它沒有運行。SQL更新沒有運行,原因未知

錯誤:

Failed to run query: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE EventID = '2'' at line 4 

我無法弄清楚什麼是錯的語法。

$query = " 
     UPDATE event 
     SET AssignedTo = '$AssignedTo',Project = '$Project',Category = '$EventCategory', 
     Status = '$Status',Services = '$EventServices',Priority = '$EventPriority', 
     WHERE EventID = '$ID' "; 


    try { 
     $stmt = $db->prepare($query); 
     $stmt->execute(); 


    } 
    catch(PDOException $ex){ die("Failed to run query: " . $ex->getMessage()); } 

    die("                      Changes Submitted"); 
} 
+2

在上一行結尾處有一個逗號。 – 2014-08-29 23:12:16

+0

在這裏看看我看到一個額外的逗號 – Gavio101 2014-08-29 23:13:08

+0

FFS哈哈25分鐘逗號 – Gavio101 2014-08-29 23:13:29

回答

2

這需要格式化文本,所以對於評論來說太長。

如果您整齊地格式化您的疑問,那麼就可以避免或至少減少此類問題:

UPDATE event 
     SET AssignedTo = '$AssignedTo', 
      Project = '$Project', 
      Category = '$EventCategory', 
      Status = '$Status', 
      Services = '$EventServices', 
      Priority = '$EventPriority', 
-------------------------------------^ 
     WHERE EventID = '$ID'; 

的查詢不滾動出頁面的線條,使其更容易發現一個額外的逗號。