过度准备查询

时间:2011-08-05 01:50:37

标签: php mysql

我想知道是否应该在准备他们的查询时加倍努力。

例如,一个查询,它接受用户输入以对数据库发出请求。

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));
}

1 个答案:

答案 0 :(得分:1)

有三种方法可以避免SQL注入:转义,准备和输入。您的示例使用输入:它确保您的变量是一个整数,因此是安全的。您不需要 来准备此语句,因为您永远不会遇到使用特定代码段的SQL注入。