我正在寻找一种安全地将字符串插入数据库的方法?

 $comment= mysql_real_escape_string($comment);

我用这个..但它没有帮助。 我使用TinyMCE将字符串插入到我的数据库中,但在选择时我得到了奇怪的字符......

× ×›×ª×‘ על ידי
rn

r n r n

是否在字符串进入数据库之前解析/编码字符串?!? 没有这发生?

更新:

这就是进入数据库的文本的样子:

   t;div class="entry" style="padding-top: 20px; padding-right: 20px; padding-bottom: 10px; padding-left: 20px; margin:

0px; “> r n <div class = ”entrymeta “style = ”padding:0px; margin:0px; “>于2011年10月15日于11:04在<a style = ”color:#c02e13; 文字修饰:无; padding:0px; margin:0px; “title = ”查看所有文章在Games “href = ”http://www.rlslog.net/category/games/ “rel = ”category tag “>游戏</ a >,&nbsp; <a style = “color:#c02e13; 文字修饰:无; padding:0px; margin:0px; “title = ”查看PC中的所有帖子“href = ”http://www.rlslog.net/category/games/pc/ “rel = ”category tag “> PC < / a>&nbsp;按<a style = “颜色:#c02e13; 文字修饰:无; padding:0px; margin:0px; “title = ”Frado的帖子“href = ”http://www.rlslog.net/author/frado/ “> Frado </a> </ div> r n < div class = “entrybody ”style = “padding:0px; margin:0px; “> r n <p style = ”padding-top:1em; padding-right:0px; padding-bottom:0px; padding-left:0px; line-height:19px; margin:0px; “> SKIDROW发布了Orcs Must Die的修复方案,详细阅读NFO。</ p> r n <p style = ”padding-top:1em; padding-right:0px; padding-bottom:0px; padding-left:0px; line-height:19px; margin:0px; “> <strong style = ”padding:0px; 描述</ strong>:分割它们,焚烧它们,串起它们并启动它们 - 无论你如何完成它,兽人必须死于这款Robot Entertainment的奇幻行动策略游戏。一个强大的战争法师,有数十种致命武器,法术和指尖上的陷阱,从一群狂暴的敌人身上捍卫二十四个堡垒,包括食人魔,hellbats,当然还有一大群丑陋的兽人。通过基于故事的战役横跨多个难度级别,包括野蛮的梦魇模式!</ p> r n <p style = “padding-top:1em; padding-right:0px; padding-bottom:0px; padding-left:0px; line-height:19px; margin:0px; “align = ”center “> <img style = ”border-width:1px; border-color:#cccccc; border-style:solid; 填充:5px; margin:5px; “src = ”http://i27.lulzimg.com/4a9c85ba50.jpg “alt = ”“width = ”493 “height = ”278 “/> </ p > r n <p style = “padding-top:1em; padding-right:0px; padding-bottom:0px; padding-left:0px; line-height:19px; margin:0px; “> <strong style = ”padding:0px; margin:0px; “> <br style =”padding:0px; margin:0px; “/> </ strong> </ p> r n <p style = ”padding-top:1em; padding-right:0px; padding-bottom:0px; padding-left:0px; line-height:19px; margin:0px; “> <strong style = ”padding:0px; margin:0px; “>发布名称</ strong>:Orcs.Must.Die.Fix-SKIDROW <br style = ”padding:0px; margin:0px; “/> <strong style = ”padding:0px; margin:0px; “>大小</ strong>:39,1 KB <db style = ”padding:0px; margin:0px; “/> <strong style = ”padding:0px; margin:0px; “>链接</ strong>:&nbsp; <a style = ”color:#c02e13; 文字修饰:无; padding:0px; margin:0px; “href = ”http://www.robotentertainment.com/games/orcsmustdie “>主页</a>&nbsp;&nashash;&nbsp; <a style = ”color:#c02e13; 文字修饰:无; padding:0px; margin:0px; “href = ”http://store.steampowered.com/app/102600/ “> Steam </a>&nbsp;&nbsp;&nbsp; <a style = ”color:#c02e13; 文字修饰:无; padding:0px; margin:0px; “href = ”http://uk.pc.ign.com/objects/080/080529.html “> iGN </a>&nbsp;&ndash;&nbsp; <a style = ”color :#c02e13; 文字修饰:无; padding:0px; margin:0px; “href = ”http://www.gametrailers.com/game/orcs-must-die/14641 “> Gametrailers </a>&nbsp;&ndash;&nbsp; <a style = ”color :#c02e13; 文字修饰:无; padding:0px; margin:0px; “href = ”http://nfo.rlslog.net/view/29500 “> NFO </a> </ p> r n <p style = ”padding-top:1em ; padding-right:0px; padding-bottom:0px; padding-left:0px; line-height:19px; margin:0px; “> <strong style = ”padding:0px; margin:0px; “>下载</ strong>:&nbsp; <a style = ”color:#c02e13; 文字修饰:无; padding:0px; margin:0px; “href = ”http://www.filesonic.com/file/2568940201 > FiLESONiC&nbsp; </a> - &nbsp; <a style = “color:#c02e13; 文字修饰:无; padding:0px; margin:0px; “href = ”http://www.fileserve.com/file/RsfZMT4 “> FiLESERVE </a>&nbsp;&ndash;&nbsp; <a style = ”color:#c02e13; 文字修饰:无; padding:0px; margin:0px; “href = ”http://www.newtorrents.info/search/Orcs.Must.Die.Fix-SKIDROW “> NTi </a> </ p> r n <p style = “padding-top:1em; padding-right:0px; padding-bottom:0px; padding-left:0px; line-height:19px; margin:0px; “> <iframe style = ”border-width:initial; 边界颜色:初始; overflow-x:hidden; 溢出-y:隐藏; width:450px; height:35px; border-style:none; padding:0px; margin:0px; “src = ”http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.rlslog.net%2Forcs-must-die-fix-skidrow% 2F&amp; layout = standard&amp; show_faces = false&amp; width = 450&amp; action = like&amp; colorscheme = light&amp; height = 35 “frameborder = ”0 “scrolling = ”no “> </ iframe> r n <p class = “comments_link ”style = “padding-top:20px; padding-right:0px; padding-bottom:10px; padding-left:0px; line-height:19px; margin:0px; “> <a style = ”color:

c02e13; 文字修饰:无; padding:0px; margin:0px; “title = ”对兽人的评论必须修复 - SKIDROW “

HREF = “HTTP://www.rlslog.net/orcs-must-die-fix-skidrow/#respond ”>评论(0)</A> </ P> r n </ DIV> r n </ div> r n <div style = “padding-top:0px; padding-right:0px; padding-bottom:0px; padding-left:40px; margin:0px; ”> <iframe style = “padding:0px; margin:0px; ”src = “http://www.roadcomponentsdb.com/300.htm ”frameborder = “0 ”marginwidth = “0 ”marginheight = “0 ”滚动= “NO ”width = “300 ”height = “250 ”> </ iframe> </ div> r n <p id = “nextlinks ”style = “padding-top:20px; padding-right:20px; padding-bottom:0px; padding-left:20px; margin:0px; ”> <strong style = “padding:0px; margin:0px; ”> Previous post:</ strong>&nbsp; <a style = “color:#c02e13; text-decoration:none; padding:0px; margin:0px; ”href = “http://www.rlslog.net/musclemag -international-%e2%80%93 -12月-2011-p2p / “> MuscleMag International&ndash; 2011年12月 - 点对点</a> </ p>


两点建议:

  • mysql_XXX API。 它在某些时候会被废弃,并且缺乏关键特性,最显着的是参数化查询。 如果您不知道参数化查询是什么,请阅读。 他们是保持SQL连接代码健全的唯一理智方式。 对于PHP,我建议使用PDO--稍微简单一点,但它非常值得学习曲线。
  • 确保你的字符集/编码是正确的。 这些日子最简单的事情就是使用Unicode(utf-8)来处理所有事情。 您需要在数据库本身设置编码(如果可以的话;在MySQL中,您需要按照每个表格和每列执行此操作,如果您必须对其进行改造,这可能会非常麻烦),连接编码(只需调用SET NAMES UTF-8建立连接后,首先使用SET NAMES UTF-8 ),php的内部编码( mb_internal_encoding )和输出编码( mb_http_output )。 另外,确保你真的在输出UTF-8; 这意味着您的所有源文件和模板也应该保存为utf-8编码。
  • 无论你做什么: 永远不要让任何连续的或替代的值进入查询 。 像这样的代码: mysql_query("SELECT * FROM users WHERE USERNAME = '$username'"); 应该是非法的 - 有太多的方法可以用这种方法来打击自己,并引入SQL注入漏洞。 (如果你不知道SQL注入是什么,请阅读那个)。

    最后; 关于如何调试您的情况的一些提示。

  • 设置MySQL查询日志。 my.ini中有一个设置会导致MySQL服务器将所有传入的查询转储到日志文件中。 您不希望在生产服务器上执行此操作,而只是暂时启用它,但它是查看实际发送到服务器的真实工具。
  • 使用命令行客户端登录到MySQL,如果手动激发相同的查询,查看它输出的内容。
  • 调试你的PHP - 确保你发送给服务器的值是你认为的值 - 如果你手边没有调试器,用print语句来处理你的脚本总比没有好(只要记得先删除它们提交)

  • 这(另外)看起来像启用了magic_quotes_gpc文档。 这是一个不安全的服务器设置,它会破坏你的数据。

    也可以看看:

  • get_magic_quotes_gpc文档
  • 使用magic_quotes()会影响mysql_real_escape_string()的使用
  • PHP中的魔术引号

  • 使用准备好的语句而不是转义,看看是否有帮助。 另外检查代码页/字符集是否正确。

    链接地址: http://www.djcxy.com/p/69791.html

    上一篇: I am looking for a way to safely insert a string to a database?

    下一篇: How can I parse a JSON file with PHP?