用mysqli_real_escape_string过滤后出现问题

用mysqli_real_escape_string过滤后出现问题

http://img1.sycdn.imooc.com//climg/5c4d3b560001e6c706470427.jpg

http://img1.sycdn.imooc.com//climg/5c4d3b5600017eb511000034.jpg

http://img1.sycdn.imooc.com//climg/5c4d3b570001a3be03920387.jpg

mysqli_real_escape_string过滤含html标记的画品标题、画品简介、画品详情后,如上图所示,标题和简介未转义html标记直接入库,画品详情转义了;到了网站前台,标题和简介在index.php页面无法显示,画品详情在detail.php页面能正常显示,到了编辑页面edit.php,标题和简介能正常显示,画品详情无法显示,总之挺混乱的

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕查理 2019-01-29 09:40:39

您好,如下,使用转义之后是可以转义成功的。

画品内容:

http://img1.sycdn.imooc.com//climg/5c4faefa000159eb05760346.jpg

数据库字段:

http://img1.sycdn.imooc.com//climg/5c4faed800014b5106730025.jpg

请同学检测是否是修改的发布代码而操作的修改?注意不要操作错页面哦~祝学习愉快!

  • 提问者 qq_Jony_pqCHO2 #1
    我的意思是,同样的字符串,画品名称和画品简介转义得到<aaa,而画品详情转义得到<aaa
    2019-01-29 09:51:02
  • 好帮手慕查理 回复 提问者 qq_Jony_pqCHO2 #2
    您好,是的。文编编辑器会造成画品名称和画品简介转义与画品详情转义结果不同。祝学习愉快!
    2019-01-29 10:27:24
好帮手慕查理 2019-01-28 10:56:59

您好,mysqli_real_escape_string()函数是根据当前连接的字符集,对于 SQL 语句中的特殊字符进行转义。注意:mysqli_real_escape_string()和mysql_real_escape_string()两个函数的参数顺序不同。mysqli_real_escape_string() 中。link 是第一个参数,而在 mysql_real_escape_string() 函数中,要转义的字符串是第一个参数。请检查同学使用的哪个函数,参数是否正确,再进行测试。祝学习愉快!

  • 提问者 qq_Jony_pqCHO2 #1
    用的mysqli_real_escape_string(),参数顺序是对的,$username=mysqli_real_escape_string($con,trim($_POST['username'])); 但就是出现了一系列问题
    2019-01-28 11:02:52
  • 好帮手慕查理 回复 提问者 qq_Jony_pqCHO2 #2
    您好,同学可以反馈相关代码,或者提交作业。以便根据同学的代码进行测试查找原因。祝学习愉快!
    2019-01-28 13:38:57
  • 提问者 qq_Jony_pqCHO2 回复 好帮手慕查理 #3
    项目作业已经提交了,老师可以测试下试试
    2019-01-28 13:46:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4928    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师