我試圖使用IF在MySQL的存在,但我不斷收到語法錯誤,我已經研究了正確的語法,但一切都心不是工作...mysql如果存在錯誤語法錯誤?
我需要的是: 如果查詢存在然後更新否則插入新的。 ..
$queryString = "IF EXISTS (SELECT * FROM $ONCALL_TABLE WHERE uid='$contextUser' AND submitid='$submitid' AND submitstatus=3) THEN UPDATE $ONCALL_TABLE SET uid='$contextUser', start_time='$onStr', end_time='$offStr', amount='$amount' ELSE INSERT INTO $ONCALL_TABLE (uid, start_time, end_time, amount) VALUES ('$contextUser','$onStr', '$offStr', '$amount') END IF";
錯誤消息: 無法執行查詢:您的SQL語法錯誤;檢查對應於你的MySQL服務器版本正確的語法使用近「IF EXISTS(SELECT * FROM timesheet_oncall其中uid =」管理員AND submitid =‘136545’在行1
你已經[escaped](http://bobby-tables.com/php)'$ contextUser'和注入到你的SQL的其他變量,對吧?不使用佔位符構造查詢是災難的祕訣。 – tadman 2013-04-08 21:11:25