如果应该准备所有SQL查询以防止SQL注入,为什么语法允许未准备好的查询?

问题描述 投票:0回答:1

由于应该准备所有SQL查询以防止SQL注入,为什么允许我们编写和执行未准备好的查询?这似乎不合常理吗?

mysql sql sql-injection
1个回答
0
投票

即使您需要使用预处理语句,也无法阻止通过变量替换创建预处理语句。例如:

$sql = "SELECT * FROM someTable WHERE id = $id";
$stmt = $conn->prepare($sql);
© www.soinside.com 2019 - 2024. All rights reserved.