如何使用mysqli_real_escape_string作为int值?

时间:2017-09-10 12:27:56

标签: php mysqli sql-injection

我有 $ search = mysqli_real_escape_string($ conn,$ _ POST ['search']); 现在,我想知道是否可以将其转换为int,这是避免sql注入的安全选项。

$ sql =“SELECT * FROM basket WHERE quantity = $ search”;

**这里数量是int

1 个答案:

答案 0 :(得分:0)

是的,严格来说,使用(int)intval()转换变量可以消除导致SQL注入的变量的风险。

但这不是避免使用查询参数的好理由。

首先,您可能同时将字符串和整数变量与SQL语句结合使用。它使您的代码更复杂,使用不同的方法使变量安全,具体取决于它们的类型。如果您只对所有变量使用查询参数,则可以简化代码。

请做对。