2013-03-14 39 views
1

您能幫助我嗎?這有什麼錯的語法如下:我在我的SQL查詢中看不到錯誤

UPDATE subscriptions 
SET type_abonnement = 'premium', 
    betalingsmethode = 'EInvoice', 
    einvoice_email = '[email protected]', 
    bank_naam = '', 
    tenaamstelling = '', rekeningnummer = '', 
    auto_afschrijving = '', 
    voorwaarden_akkoord = 'Akkoord met de voorwaarden', 
    gemachtigd_toezegging = 'Ik ben gemachtigd', 
WHERE 
    keycolumn = '5141d398ceeb7' 

錯誤消息:

您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊正確的語法使用近「WHERE keycolumn ='在列10

這5141d398ceeb7」是錯誤消息的SQL的回聲。我使用的代碼:

$sql="UPDATE subscriptions SET type_abonnement = '".$typeabonnement."', 
     betalingsmethode = '".$betalingsmethode."', 
     einvoice_email = '".$emailfactuur."', 
     bank_naam = '".$bank."', 
     tenaamstelling = '".$tenaamstelling."', 
     rekeningnummer = '".$rekeningnummer."', 
     auto_afschrijving = '".$afschrijving."', 
     voorwaarden_akkoord = '".$voorwaarden."', 
     gemachtigd_toezegging = '".$gemachtigd."', 
     WHERE keycolumn = '".$uniqueid."' "; 

echo $sql; 

mysql_query($sql) or die(mysql_error()); 

mysql_close(); 

在此先感謝!

+2

前WHERE – pedromarce 2013-03-14 14:30:03

+2

我累了所有這些mysql_ *和SQL注入垃圾漂浮的... [閱讀刪除逗號。](http://stackoverflow.com/a/15410966/1667004) – ppeterka 2013-03-14 14:30:54

+0

請告訴我你知道SQL注入.... – 2013-03-14 14:31:03

回答

3

你有一個逗號,只是where子句中,這是本有可能的原因之前。在這裏:

... 'Ik ben gemachtigd', WHERE ... 

刪除逗號,它應該工作

+1

我怎麼會錯過這個?非常感謝! – user1555076 2013-03-14 14:33:01

+0

如果您將逗號放在每行的前面而不是結尾,則不太可能出現此錯誤。 – 2013-03-14 14:43:21

3
...gemachtigd_toezegging = 'Ik ben gemachtigd', WHERE keycolumn... 

你有WHERE前一個逗號=錯誤

+0

我怎麼能錯過這個?非常感謝gbn! – user1555076 2013-03-14 14:33:37