2013-03-26 566 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'

就是这样。

相关问题