见鬼了,,真的是百思不得其解,难道是bug???
一段语句
$str='<pre><span style="color:red">123</span></pre>';
在临插入数据库的时候我打印出来,,观看源代码就是这样的,
诡异的是
存入数据库后,,在显示出来,源代码居然变成
<pre><span style="color:red">123</span></pre>
而数据库里存的也是这个,,真是邪门了。。。。
难道bug??
------解决方案--------------------我打印出sql语句都没问题
-----------------------
确定浏览器源代码里看这行输出<pre>也没转化?
------解决方案--------------------看数据库数据是否正常。
不正常检查:
echo $sql 之后 INSERT之前有没实体化了。
正常:
即是实体化输出了。
------解决方案--------------------转义字符的问题吧。
使用addslashes函数将数据插入到数据库中,读取时使用stripslashes函数还原为正常的数据。
------解决方案--------------------TP入库自动处理了的吧
------解决方案--------------------同意楼上的,是为了防止SQL注入式攻击。上次的加那个转义没有用的。不过好像把标签的"<"和">"(。<pre>)替换为"&\lt","&\gt"。这样既可以正确显示代码,又不会使代码被执行
------解决方案--------------------你用thinkphp ,thinkphp的插入都把标签给转换了