由于应该准备所有SQL查询以防止SQL注入,为什么允许我们编写和执行未准备好的查询?这似乎不合常理吗?
即使您需要使用预处理语句,也无法阻止通过变量替换创建预处理语句。例如:
$sql = "SELECT * FROM someTable WHERE id = $id"; $stmt = $conn->prepare($sql);