我有 $ search = mysqli_real_escape_string($ conn,$ _ POST ['search']); 现在,我想知道是否可以将其转换为int,这是避免sql注入的安全选项。
$ sql =“SELECT * FROM basket WHERE quantity = $ search”;
**这里数量是int
答案 0 :(得分:0)
是的,严格来说,使用(int)
或intval()
转换变量可以消除导致SQL注入的变量的风险。
但这不是避免使用查询参数的好理由。
首先,您可能同时将字符串和整数变量与SQL语句结合使用。它使您的代码更复杂,使用不同的方法使变量安全,具体取决于它们的类型。如果您只对所有变量使用查询参数,则可以简化代码。
请做对。