MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义(转)
Posted yolo_bean
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义(转)相关的知识,希望对你有一定的参考价值。
问题描述:
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,在入库的时候第一个反斜杠被认为是转义字符,第二个反斜杠被认为是常规内容,所以去除了第一个反斜杠,保留了第二个,看到的结果是反斜杠插进去了。
(转)
以上是关于MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义(转)的主要内容,如果未能解决你的问题,请参考以下文章