如何使用 mysqli_real_escape_string 作为 int 值?

How to use mysqli_real_escape_string for int value?

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

$sql ="SELECT * FROM basket WHERE quantity =$search";

**这里的数量是整数

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

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

一方面,您可能同时拥有字符串和整数变量以与您的 SQL 语句组合。根据变量的类型使用不同的方法使变量安全,这会使您的代码更加复杂。如果您只对所有变量使用查询参数,则可以简化您的代码。

请做对。