数据库中插入字符串

来源:互联网 发布:招聘新媒体美工的要求 编辑:程序博客网 时间:2024/05/17 13:43
最近邮件系统出了bug,是将邮件插入数据库失败,导致玩家的邮件丢失。

本来sql语句是:
insert into mail(ID,SOURNAME,DESTNAME,TAXT) values(1,"aaa","bbb","祝贺升级!!!!");
这样当然没有问题,可是有些玩家却偏偏喜欢发些复杂的东西,像这样的
insert into mail(ID,SOURNAME,DESTNAME,TAXT) values(1,"aaa","bbb","祝贺升级!!!! "^-^"");
表格里的字符串部分本来是用""包含的,可是玩家邮件正文的字符串里也包含了""这个符号,就像这样 "祝贺升级!!!! "^-^"",这样的会导致整条语句插入数据库失败
后果很严重,原因却很简单。

想出来2个办法:
一个是将字符串类型都转成二进制数据来插入,因为二进制是不用管符号的。这样写代码的时候简单了,可是如果要直接从数据库操作来读取这段数据,而不是通过程序重新转换成字符串,读出来的东西基本是看不懂的。
还有一个,是在插入数据库之前,将字符串中的""符号通通解析一边,用转义符"\""来替换掉,呵呵,更喜欢这个方式
原创粉丝点击