我想知道是否应该在准备他们的查询时加倍努力。
例如,一个查询,它接受用户输入以对数据库发出请求。
if(is_int($id)) {
$mysqli->query("SELECT * FROM myTable WHERE id = '$id'");
}
VS
if(is_int($id)) {
$mysqli->query(sprintf("SELECT * FROM myTable WHERE id = '%d'",$id));
}
答案 0 :(得分:1)
有三种方法可以避免SQL注入:转义,准备和输入。您的示例使用输入:它确保您的变量是一个整数,因此是安全的。您不需要 来准备此语句,因为您永远不会遇到使用此特定代码段的SQL注入。