2014-08-29 45 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'; 

的查询不滚动出页面的线条,使其更容易发现一个额外的逗号。