我一直在努力解决一个小问题。它已经存在了很多年,但这只是一个令人烦恼的问题,而不是一个严重的问题,我已经解决了这个问题。但是现在我想找出是否有人可以帮助我。我做了一些谷歌搜索,但没有成功。
如果我从php文件中的html textarea进行表单发布,如下所示:
<form action="http://action.com" method="post">
<textarea name="text"><a href="http://google.com">google's site</a></textarea>
</form>
当然还有一个提交按钮,依此类推。
值是问题所在:<a href="http://google.com">google's site</a>
textarea的值同时具有“(引号)和’(撇号)。
要将其保存在mysql_database中,请执行以下操作:
$result = mysql_query("INSERT INTO `table` (`row1`) VALUES ('".$_POST['text']."') ") or die(mysql_error());
现在我得到了mysql错误:
您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取在第1行的“站点附近”使用的正确语法
您的sql字符串将为:
INSERT INTO `table` (`row1`) VALUES ('google's site')
这不是有效的声明。正如Nanne所写,请至少使用mysql_real_escape_string对该字符串进行转义:http ://php.net/manual/en/function.mysql-real-escape-
string.php
并阅读有关sql注入的信息
http://en.wikipedia.org/wiki/SQL_injection
想一想:如果有人发布了这个:$_POST['text']
值:');delete from table;....
您可以对数据说再见:)
始终过滤/转义输入!
编辑:从PHP 5.5.0起,不推荐使用mysql_real_escape_string和mysql扩展名。 请改用mysqli扩展名和mysqli
:: escape_string函数
问题内容: 我正在将某些Web“服务”从WCF Rest转换为MVC3。 我们的旧网络服务使用以下命令从POCO返回JSON就好了: 在我的控制器中返回一个简单的poco,我使用JsonResult作为返回类型,并使用创建json 。 在WCF Rest服务中,撇号和特殊字符在呈现给客户端时会被格式化。 在MVC3控制器中,撇号显示为\ u0027。 有什么想法吗?我是序列化JSON的新手,因此任
问题内容: 我在数据库中有包含特殊字符的单词(大多数情况下为西班牙语,如波浪号)。在数据库中,所有内容均已保存并使用PHPmyAdmin正确显示,但是当我获取数据(使用PHP)并将其显示在浏览器中时,我得到了一个奇怪的字符,例如“?”。用一个正方形…我需要一个一般性的修补程序,因此我不必每次都转义每个字符,而且我还可以将PHP表单中的特殊西班牙字符插入数据库中… HTML是正确的: 所有表和数据库
本文向大家介绍xml 撇号和引号,包括了xml 撇号和引号的使用技巧和注意事项,需要的朋友参考一下 示例 属性值可以用单引号或双引号出现。适当的字符必须转义。
问题内容: 我遇到了一个大问题,即通过jQuery Ajax将数据作为JSON发布到我的服务器。JSLint表示数据正常,并且请求的Content- Type设置为。服务器在PHP 5.2.11上运行,所以我不能使用。 我尝试了url_decode,utf8_decode和html_entities_decode,但似乎没有任何效果。 返回null,但如果执行此操作,一切正常。是发布数据:。 这是
我想使用platformRequest拨打以下格式的号码: 但我得到了一个无效的数字错误,有可能吗?
问题内容: 我该如何更换: “ã”和“ a” “é”和“ e” 在PHP中?这可能吗?我读过某处我可以使用基本字符的ascii值和重音符号的ascii值进行一些数学运算,但是现在找不到任何参考。 问题答案: 这个答案是不正确的。 编写它时,我不理解Unicode规范化。查看francadaval的评论和链接 签出Normalizer类来执行此操作。文档很好,所以我将其链接起来,而不是在这里重复: