2012-05-04 39 views
1

我是相當新的SQL,我試圖插入一行到MySQL數據庫時遇到錯誤。在插入數據庫以防止sql注入之前,我是綁定值。SQL插入不斷得到錯誤

我的插入語句:

INSERT INTO member (FirstName, LastName, Date of Birth, Street Address, 
        City, State, Zip, Email, Phone, Active) 
VALUES (:FirstName, :LastName, :DateOfBirth, :streetAddress, :City, :State, 
        :Zip, :Email, :Phone, :Active) 

是在insert語句所需要的主鍵?我確實已將它設置爲在數據庫中自動遞增。

我不斷收到的錯誤是:

1064 - 你在你的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在'''FirstName','LastName','出生日期','街道地址','城市','州','Z'附近使用正確的語法1號線

我已經試過工作圍繞語句本身的語法和我相當肯定是語法正確的,雖然我的SQL知識是非常非常有限的。謝謝你的時間。

Tama198

+0

在oracle中當列名中有空格時,我們應該在雙引號中包含這樣的內容。但我不知道我的sql – Maddy

+0

我不知道列名中的空格謝謝。不幸的是,我試着在名稱周圍引用一次,第二次刪除列名稱中的空格。兩者都不成功。 – Tama198

+0

請分享表格結構嗎? –

回答

2

INSERT INTO member (FirstName, LastName, `Date of Birth`, `Street Address`, 
        City, State, Zip, Email, Phone, Active) 
VALUES (:FirstName, :LastName, :DateOfBirth, :streetAddress, :City, :State, 
        :Zip, :Email, :Phone, :Active) 

嘗試請檢查您的表列姓名「出生日期」和「街道地址」。列名允許空間!我對此表示懷疑。

+0

謝謝sarwar026,但我刪除了數據庫中列名稱的空格,並更改了我的插入語句,但沒有更改錯誤。爲了插入新行,需要更改phpmyadmin中的設置嗎? – Tama198

+0

你的「主鍵」是什麼?它是一個自動遞增的字段嗎? – sarwar026

+0

我的主鍵是列ID。儘管我不得不將其更改爲自動增量,並且工作正常。我以爲我有自動增量設置爲ID,顯然它不是。仍在努力學習數據庫世界。謝謝sarwar026和madhu的幫助。非常感謝! – Tama198