filter_var or mysqli_real_escape_string
本问题已经有最佳答案,请猛点这里访问。
我想知道哪个更强
更具体。
选项1:
1 2 3 | //Course Title $ctitle = trim($_POST['courseTitle']); $clean_ctitle = filter_var($ctitle, FILTER_SANITIZE_STRING); |
选项2:
1 2 3 | //Course Title $ctitle = trim($_POST['courseTitle']); $clean_ctitle = mysqli_real_escape_string($con, $ctitle); |
我也知道准备好的陈述,但我想过滤手中的数据。 如果有替代方案,请告诉我。
它们没有实现相同的目标,你将使用
通常,您将首先使用
总结一下,
-
filter_var() 是关于过滤和验证输入数据。 -
mysqli_real_escape_string() 是关于在MySQL字符串中使用数据之前转义数据。
你不应该在它们之间做出选择,你应该同时使用它们;-)
您还没有真正说过使用字符串的是什么,但过滤器功能没问题,但是其中一些比过滤器更有效。
FILTER_SANITIZE_STRING过滤器选项删除标记并从字符串中删除或编码特殊字符。对于mysql来说,这不是一个好的卫生设施。
所以这取决于你正在消毒什么。
如果您希望在MySQL查询中使用它们之前清理字符串,那么您应该使用