2013-03-26 568 views
1

我有一個小網站,我想將我的聯繫人電子郵件存儲在MySQL數據庫中。 我正在使用PHP和MySQL。每次嘗試時,都會給我下面的錯誤。但是,當我刪除@.(點)它工作正常。我真的需要這方面的幫助,請告訴我我正在做什麼錯誤,如果給出代碼,這將非常有幫助。我應該使用什麼數據類型在mysql數據庫中存儲電子郵件?

我已經使用VARCHAR而已。它不斷顯示下面的錯誤:

您的SQL語法錯誤;檢查 對應於你的MySQL服務器版本正確的語法在行中使用 附近的 '@ gmail.com(ID INT NOT NULL AUTO_INCREMENT,PRIMARY KEY(ID), 名VARCHAR(3' 手動1

+0

你可以粘貼你試圖運行的SQL查詢嗎? – 2013-03-26 07:52:35

+1

對於電子郵件VARCHAR(50)(對於MySQL)在大多數情況下都可以。 – Arvind 2013-03-26 07:54:30

+0

^請做。因爲VARCHAR總是適合我。也許你沒有足夠大?我通常至少有50個字符。 – 2013-03-26 07:54:51

回答

0

除了@的錯誤,你仍然有一個不會工作的查詢: gmail.com(id INT .... 不應該是 gmail.com',(id INT .... ?

數據庫無法處理@的事實可能是由數據庫的字符集引起的,它是UTF-8 Unicode(utf8)嗎? 什麼是回寫類型rd你想存儲郵件的地方?

+0

這個問題不會發生在@和。被刪除,所以它不是varchar(50)的問題。 – YolkNet 2013-03-26 08:03:01

0

一個varchar(50)就足夠用於存儲電子郵件..

然後在你的查詢中的所有插入值必須通過''""

$sql='INSERT INTO TABLE1 VALUES("Value1","[email protected]","VALUES3")' 
1

可以使用vachar包裹數據類型爲1-255長度。

而對於更多的信息,如果你的價值的長度爲更多的則255然後用text數據類型

2

使用VARCHAR和用引號括電子郵件,因此它可以作爲像這樣的字符串處理:

「電子郵件@ gmail.com'

就是這樣。

相關問題