织梦 解决插入文章不成功的问题

发布织梦文章的程序 解决部份文章发布不成功的问题

首先,浏览上一章 织梦 PHP 实现织梦发布功能

 

putDEDE.php 的部份

//JSON 数据
$id = $data[$i][0];
$title = $data[$i][1];
$content = $data[$i][2];
//获取描述
$description = mb_substr(str_replace(array(" "," ","\t","\n","\r"),array("","","","",""),strip_tags($content)),0,250, 'utf-8');

 

修改为:

//JSON 数据
$id = $data[$i][0];
$title = mysql_real_escape_string($data[$i][1]);
$content = mysql_real_escape_string($data[$i][2]);
//获取描述
$description = mysql_real_escape_string(mb_substr(str_replace(array(" "," ","\t","\n","\r"),array("","","","",""),strip_tags($data[$i][2])),0,250, 'utf-8'));

 

mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。防止发送SQL语句失败
还有另一个功能,使用本函数来预防数据库攻击。
参考文章:http://www.w3school.com.cn/php/func_mysql_real_escape_string.asp

 

补充:mysql_real_escape_string 主要是为了 数据库防注入、以及语句正确性等需要,将读写语句中的字符进行了转换;
但最终写入到数据库中的内容,依旧是你转义前的;所以当你读出来的时候,依旧是原来转义前的内容;
比如,你要在数据库中插入字符串 aaaa"aaaa 但如果写成insert into table values("aaaa"aaaa"); 语句就出错了,使用mysql_real_escape_string就能转义成 aaaa\"aaaa; 最终语句就变成了 insert into table values("aaaa\"aaaa");  
但你select * from table 最终得到的内容依旧是 aaaa"aaaa

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值