MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义之我见

http://blog.sina.com.cn/s/blog_78faa23f0101owvo.html

问题描述:
mysql中带有反斜杠的内容入库后,发现反斜杠无故失踪了(俗话说被吃掉了)
 例:插入insert into tb('url') values('absc\eeee'); 结果数据库里的内容是:absceeee(反斜杠没了呢)

这么详细了相信大家都搞清楚问题了吧,下面看解决方案。

解决方案:
用addslashes(),mysql_escape_string()等函数进行处理,也就是在插入数据库前,把内容处理一下
  如:$cc = addslashes('absc\eeee'); insert into tb('url') values($cc);

突然发现好了也,有没有。但是中间到底发生了什么,你是否清楚,接着往下看-》》》

发生了什么:
mysql 在插入数据库的时候,会自动去除转义字符也就是反斜杠"\",addslashes(),mysql_escape_string()使用这些函数可以在反斜杠前再加个反斜杠也就是成了 absc\\eeee,在入库的时候第一个反斜杠被认为是转义字符,第二个反斜杠被认为是常规内容,所以去除了第一个反斜杠,保留了第二个,看到的结果是反斜杠插进去了。

好了,说了这么多,你应该能明白了吧。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值