Liny_@NotePad

沉迷ACG中

由“COUNT 字段不正确”引来的种种..

YOYO posted @ 2010年9月17日 22:22 in 【PHP】 , 3323 阅读

测试刚写好的信息管理系统,发现短文章插入正常,长文章插入不正常,提示“COUNT 字段不正确”。
迷茫中以为仍旧是PHP调Access备注字段的问题,查了一些资料未果。

重新认真调试,按这个提示应该是字段不符合,我的文章中的确出现了单引号('),但是已经被自动转义了啊,PHP5增加了get_magic_quotes_gpc开关,默认为开,会自动为GET、POST等参数addlashes,即在前面加了斜杠。

于是echo SQL出来自己执行,发现的确是不行的o(╯□╰)o 于是百度了下,通过内置的htmlentites函数将字符串转换为HTML字符,在读取的时候通过html_entity_decode函数反向解析。

这下似乎解决了,数据也可以正常插入,但在显示的时候发现反斜杠仍在,继续百度,找到stripslashes函数,干掉了反斜杠,仿佛没什么问题了……

再来测试,发现中文字符也会被转码,这下字段长度大大不足,再次百度,原来有htmlspecialchars这个函数。。替换掉所有的htmlentites函数,终于搞定!

  • 无匹配

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter