0

如果是这样,如果我的 varchar 包含 ; 或 [ 或将自动删除的关键“创建”?没想到这么简单,避免sql注入的参数化机制是什么?

4

1 回答 1

4

不,它不会删除任何字符。相反,它将这些字符视为值而不是代码。如果您传入一个带有分号或引号或任何其他有意义的字符/关键字的字符串,那么您最终会得到一个包含该分号或引号或关键字的字符串值。

如果您将查询构造为原始字符串,而不是使用参数化查询,那么您需要确保字符被适当地转义以具有相同的行为,这是一项不平凡的任务(如果您想支持每个可能性)这就是为什么存在参数化查询来为您处理它的原因。

于 2017-04-26T13:16:52.720 回答