2011-01-11 127 views
2

我一直在盯着這個東西一會兒,我似乎無法弄清楚語法錯誤是什麼。我以前曾經遇到過這種情況,而且上次這種情況非常簡單,我後來覺得很蠢。但這裏的另一個嘗試:ADD附近的SQL語法錯誤

//update database 
$q = " 
UPDATE 
    users 
SET 
    id='$edit_id', 
    name='$edit_name', 
    bdm='$edit_bdm', 
    add='$edit_add', 
    pc='$edit_pc', 
    location='$edit_outletL', 
    style='$edit_outletS', 
    coName='$edit_coName', 
    coNum='$edit_coTel', 
    coEmail='$edit_coEmail', 
    password='$edit_pass' 
WHERE 
    id='$query_title' 
"; 
$edit_query = mysql_query($q) or die("Database Query Error: ". mysql_error()); 

數據庫查詢錯誤:

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 'add='Llancadle, Nr Barry', pc='CF62 3AQ', location='rural', style='food', coName' at line 1 
+1

`ADD`是保留關鍵字。 – Bobby 2011-01-11 10:18:59

+1

通過像「add」一樣將它們圍起來進行重複字段名稱跳轉 – Nishant 2011-01-11 10:20:42

回答

4

您neeed以反引號加,因爲它是一個關鍵字:

`add` = ... 
2

你的問題是「添加」是一個MySQL保留字。參見:http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html。如果你有一個名爲列「添加」,逃避這樣的:

//update database 
    $edit_query = mysql_query("UPDATE users SET id='$edit_id', name='$edit_name', bdm='$edit_bdm', `add`='$edit_add', pc='$edit_pc', location='$edit_outletL', style='$edit_outletS', coName='$edit_coName', coNum='$edit_coTel', coEmail='$edit_coEmail', password='$edit_pass' WHERE id='$query_title'") or die("Database Query Error: ". mysql_error()); 
2

巴比的評論指出,補充的是一個MySQL的保留字

`add`='$edit_add' 

會告訴你是在談論一個MySQL列