开发者

SQL Syntax Error near ADD [duplicate]

This question already has an answer here: Syntax error due to using a reserved word as a table or column name in MySQL (1 answer) Closed 8 years ago.

I've been 开发者_运维问答staring at this thing for a while now and I can't seem to figure out what the syntax error is. I've been in this situation before and last time it was something so unbelievably simple I felt stupid afterwards. But here's to another attempt:

//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());

Database Query 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


You neeed to backquote add since it is a keyword:

`add` = ...


I think add is a reserved word in MySQL.


your problem is that "add" is a MySQL reserved word. See: http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html. If you have a column named "add", escape it like this:

//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());


as bobby noted in a comment, add is a mysql reserved word

`add`='$edit_add'

will tell mysql you are talking about a column

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜