2012-08-16 68 views
-3

在這裏輸入代碼我正在寫插入查詢,但是當我運行這個錯誤顯示。插入查詢問題?

您的SQL語法錯誤;請檢查與您的MySQL服務器版本對應的手冊,以便在第11行的'選擇'附近使用正確的語法。

這裏是代碼。

if(isset($_POST['Submit'])) 
{ 
$query= "INSERT INTO ambition_opportunities SET 
opp_provider='".$_POST['provider']."', 
opp_category='".$_POST['category']."', 
opp_pre_location ='".$_POST['prelocation']."', 
opp_industry='".$_POST['Industry']."', 
opp_qualification='".$_POST['qualification']."', 
opp_decipline='".$_POST['Decipline']."', 
opp_scale='".$_POST['scale']."', 
opp_want='".$_POST['want']."', 
opp_functional='".$_POST['functional']."', 
opp_email='".$_POST['email'].", 
opp_yourself='".$_POST['yourself']."', 
opp_opportunity='".$_POST['opp']."', 
opp_organization='".$_POST['Orga']."', 
opp_add_location='".$_POST['loca']."', 
opp_deadline='".$_POST['deadline']."', 
opp_source='".$_POST['source']."', 
opp_start='".$_POST['calender1']."', 
opp_end='".$_POST['calender2']."', 
opp_prize='".$_POST['prize']."', 
opp_about_organization='".$_POST['organization']."', 
opp_about_opportunity='".$_POST['Oppurtunity']."', 
opp_eligibity='".$_POST['Eligibilty']."', 
opp_offer='".$_POST['Offer']."', 
opp_application='".$_POST['Application']."', 
opp_status='".$_POST['status']."'"; 

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

} 
?> 

請幫助我..

感謝

+0

'var_dump($ sql)'的內容是什麼? – Fluffeh 2012-08-16 12:10:38

+3

此查詢中沒有「選擇」...您確定您的錯誤在這裏? – 2012-08-16 12:11:20

+0

@MihaiIorga它是如果有''_POST'虛空變量。 – Fluffeh 2012-08-16 12:11:25

回答

2

你已經錯過了截止'對符合:

opp_email='".$_POST['email'].", 
//---------------------------^ 

什麼是可能發生的是那另外一個你輸入內容中包含「select」字樣,並且引用翻轉後,查詢相信您正試圖在某處不應該使用SELECT

作爲說明,您當然應該使用準備好的語句來確保您的輸入已被清理,而不是直接在查詢中使用用戶輸入。這會導致各種不好的事情(查看SQL注入)。

如果沒有對輸入進行消毒處理,那麼丟失'甚至不會成爲問題。如果有人有輸入isn't this great?,並且您嘗試直接使用它,它也會給您一個錯誤。

+2

我會說它缺少完整的完整編碼,等等。我甚至不希望它能用這個'''因爲它是一個SQL注入天堂。 – hakre 2012-08-16 12:13:15

+0

正在添加到我的答案;) – jprofitt 2012-08-16 12:14:07

+2

我會更換「你應該可能」更強制性的東西... – 2012-08-16 12:14:31