最近在处理公司的一个项目,但是一直出现数据库的插入语句错误,很是纳闷,其他的用户总是可以插入数据,但是总是有一个店铺怎么都插入不进去数据最后也是问了一下公司的大神,终于是明白了其中的道理,很简单,一个引号引起的故障。
因为插入的数据中有个引号,会自动匹配到之前预设的引号,不可避免后面的数据出现了错误.
一个函数处理这个问题addslashes(), 很是感谢周围的人的帮忙,
update(2015-06-24)
php中提供了一个字符串的替换方法,就是将一些特定的字符串替换成自己设定的字符串,这样就可以防止出现问题,函数是:str_replace()
比如这里我之前写了一些代码:
$replace = array('◆','♂',')','?','?','=','+','$','¥','-','、','、',':',':',';','!','!','/', ' '); $content = str_replace($replace, '', $item['content']); $reply = str_replace($replace, '', $reply);
这三行代码中就是把$item['content']和$replay中包含在$replace中的字符替换成空字符,这种方法中,我们可以预先把一些可能出现问题的字符放在一个数组中,下次如果还是出现问题的话,就可以在这个数组中加入可能出现问题的字符,将出现问题的字符过滤掉即可