2011-01-11 132 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列