欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

一样的数据ie发送后服务器返回的情况不一样

更新时间: 2014-01-05 00:54:03 责任编辑: Author_N1

 

同样的数据ie发送后服务器返回的情况不一样
求教一个问题
同样的参数传输,ie浏览器和其他的服务器响应不一致,post方式
前台jquery,使用escape对foldername进行了转码,后台是 
$par['foldername']=unescape($par['foldername']);
$mids=explode(',',$par['mid']);//需要删除的邮件列表
$res['sql']=$par['foldername'];   //debug1
if($par['foldername']=="已删除" || $par['foldername']=="草稿箱"){
   $par['delete']=true;//垃圾箱内的彻底删除掉
   $res['sql'].=' AA'.$par['foldername'];  //debug2
}

 结果发现在ie下不进入$par['delete']=true;这个if判断,求解

ff查看返回,能返回“已删除 AA已删除”这样满足逻辑的东西,而ie请求的话则只返回“已删除”,if根本就不进去,求解 
--参考方法--
echo $par['foldername'];
看看是什么
--参考方法--
在ie下打印下unescape前后的 $par['foldername'];看下结果
--参考方法--
$res['sql'].=' AA'.$par['foldername'];  //debug2

这样的写法很怪
--参考方法--
$par['foldername'] = trim($par['foldername']);

至于是如何多出的,需要看到你的页面代码
--参考方法--
如果字段是char或varchar类型,那么在字符串比较的时候MySQL使用PADSPACE校对规则,会忽略字段末尾的空格字符,若想做到精确匹配可以使用下面几种方法:
方法1:使用like语句;
方法2:使用binary类型,例如,select binary 'a' = 'a   '
方法3:再添加一个length()条件,例如,select col from table where col = 'a   ' and LENGTH(col) = LENGTH('a   ')

官方手册说明(5.0版本):
http://dev.mysql.com/doc/refman/5.0/en/char.html
11.1.6.1. The CHAR and VARCHAR Types
 All MySQL collations are of type PADSPACE. This means that all CHAR, VARCHAR, and TEXT values in MySQL are compared without regard to any trailing spaces. “Comparison” in this context does not include the LIKE pattern-matching operator, for which trailing spaces are significant. 
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 00:54:03
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/1172/
本文WWW.DOC100.NET DOC100.NET版权所有。