我正在使用PHP准备语句mysqli 但我找不到下面的代码
mysqli_real_escape_string
如何在PHP准备语句mysqli中使用上面的代码。* 它是这样的吗?
$stmt->escape_string
答案 0 :(得分:3)
发布为社区维基。我不想要代表这一点。
使用mysqli_real_escape_string()
和准备好的陈述毫无意义。
这是一个或另一个。
阅读使用MySQLi_预处理语句的手册:
然而......你可以同时使用两者,而不是两者同时使用。
答案 1 :(得分:2)
准备好的查询(如果使用得当)将确保数据被正确转义以进行安全查询,因此您根本不需要使用mysqli_real_escape_string。你正确地使用它们,只需要改变一件小事。因为你正在使用'?'占位符,最好通过execute方法传递params。
$ SQL->执行(阵列($测试));
如果您将其输出到页面时要小心,数据库清理并不意味着在HTML中显示它是安全的,因此也可以在其上运行htmlspecialchars()。 以下是prepared statements and real_escape_string
中此问题的链接