在MySQL中我需要什么类型的字段来输入歌词?

时间:2012-12-05 16:13:31

标签: mysql field

我有一个有歌曲标题,艺术家等的表格,一切都有效。我有一个歌词字段,我想用来存储歌词,它目前设置为“blob”。如果我输入长文本,它总是失败。我应该把它设置为什么?

You have an error in your SQL syntax; check the manual that corresponds to your MySQL        server version for the right syntax to use near 't real, She ain't gonna be able to love you     like I will, She is a stranger, Y' at line 2

没关系,我明白了。我需要在输入文本之前添加mysql_real_escape_string()。更正,它存储所有空的空间。我错过了什么?

这里的歌词示例:

  

“谣言有它”

     

Owwwwh [重复]

     

她,她不是真的,她不会像我一样爱你,   她是一个陌生人,你和我有历史,或者你不记得吗?   当然,她已经拥有了一切,但是,宝贝,这真的是你想要的吗?

     

祝福你的灵魂,你的头脑在云端,她傻了   在你身边,而且,男孩,她让你失望,她创造了你的心   融化,但你冷酷的核心,现在谣言说她没有   你的爱了,

     

谣言(谣言)[x8]

     

她,是你的一半,但我猜这就是你的原因   留下来,我听说你一直想念我,你一直在告诉别人   你不应该做的事情,比如当我不在身边的时候,   你没听说过谣言吗?

     

(祝福你的灵魂!...)祝福你的灵魂,你的头脑里有了   云,你愚弄了我,而且,男孩,我让我失望,你   让我的心融化,但我冷酷的核心,但谣言说我是   那个你要离开她的人,

     

谣言(谣言)[x8]

     

所有这些话语在我耳边低语,讲述一个我不能的故事   只是因为我说过,这并不意味着我的意思,   人们说疯狂的事情,只是因为我说过,不代表我   意思是,只是因为你听到了,

     

谣言有(谣言)[x14]

     

但有传言说他是我要离开你的人。

2 个答案:

答案 0 :(得分:1)

您可能需要查看此内容,以查看每种文本类型的长度:

http://www.electrictoolbox.com/maximum-length-mysql-text-field-types/

但这里有价值观:

TINYTEXT    256 bytes    
TEXT    65,535 bytes            ~64kb
MEDIUMTEXT  16,777,215 bytes    ~16MB
LONGTEXT    4,294,967,295 bytes ~4GB

那么,为什么不使用TEXT代替blob

此外,您可能只是在尝试插入或更新时遇到错误。显示一些代码非常有用。

答案 1 :(得分:0)

我的问题是我需要在存储或输出信息之前使用addslashes()和stripslashes()。这解决了我的问题。谢谢!