我把数据为 $url_pattern=":/(\/[\d]{6}\/t[\d]{8}_[\d]{7,}\.html)/i";
插入数据库中数据变为 "/(/[d]{6}/t[d]{8}_[d]{7,}.html)/i"
自动把反斜杠“\”都去掉了
我的网页格式为 :gb2312
mysql库链接校对:UTF8_Unicode_ci(跟这个应该没关系吧)
我是哪里没有注意到还是什么设置错了
插入数据库中数据变为 "/(/[d]{6}/t[d]{8}_[d]{7,}.html)/i"
自动把反斜杠“\”都去掉了
我的网页格式为 :gb2312
mysql库链接校对:UTF8_Unicode_ci(跟这个应该没关系吧)
我是哪里没有注意到还是什么设置错了
从文本框输入 "/(\/[\d]{6}\/t[\d]{8}_[\d]{7,}\.html)/i" 用post得到的是 "/(\\/[\\d]{6}\\/t[\\d]{8}_[\\d]{7,}\\.html)/i"
我用stripslashes()函数把多余的反斜杠去掉了,可往数据库插入时,多出来的反斜杠又有用了可不可以用函数或其他方法把 "/(\/[\d]{6}\/t[\d]{8}_[\d]{7,}\.html)/i"格式再变为 (\\/[\\d]{6}\\/t[\\d]{8}_[\\d]{7,}\\.html)/i" 形式哈
replace("/(\/[\d]{6}\/t[\d]{8}_[\d]{7,}\.html)/i"格式再变为 (\\/[\\d]{6}\\/t[\\d]{8}_[\\d]{7,}\\.html)/i",'\','\\')
用的addslashes()
就是不知道会不会影响其他执行用replace也可以做到
mysql> select '\\' as a;
+---+
| a |
+---+
| \ |
+---+
1 row in set (0.00 sec)mysql> select '\\\'' as a;
+----+
| a |
+----+
| \' |
+----+
1 row in set (0.00 sec)
需要用\转义。想用单引号也是。
没人理我
是说我该好好学一下Mysql参考手册么
上面不是已经解释得很清楚了吗? \是MYSQL中的转义符,MYSQL会把它和后面紧跟的字符一起对待分析。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html