2011-01-11 17 views
2

私は今この状況をしばらく見据えており、構文エラーが何であるか把握できないようです。私はこのような状況にあった前と最後の時間は、それは信じられないほどシンプルな私は後で愚かな感じだった。私はaddは、MySQLでreserved wordだと思うADDの近くにSQL構文エラーがあります

`add` = ... 
+1

「追加」は予約済みのキーワードです。 – Bobby

+1

'' add''のようにバックティックで囲んでフィールド名をエスケープします – Nishant

+0

閉じる投票があるのはなぜですか?そうではないかと尋ねるのは完全に受け入れられる質問です。 –

答えて

4

あなたはそれがキーワードであるため、追加のバッククォートするneeedしかし、ここで別の試みにです。

+0

MySQLの機能を傷つけてしまう危険性があると私は考えています。このようなエラーは認識できません。歓声メイト! –

+0

一般的なアドバイスは、このようなエラーを避けるために、すべてのフィールド名とテーブル名を逆引用することです。 –

+0

lol - それはちょっとばかげた示唆です。 –

3

//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 
2

あなたの問題は、 "add"は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を教えてくれますです列

関連する問題