Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果是这样,如果我的 varchar 包含 ; 或 [ 或将自动删除的关键“创建”?没想到这么简单,避免sql注入的参数化机制是什么?
不,它不会删除任何字符。相反,它将这些字符视为值而不是代码。如果您传入一个带有分号或引号或任何其他有意义的字符/关键字的字符串,那么您最终会得到一个包含该分号或引号或关键字的字符串值。
如果您将查询构造为原始字符串,而不是使用参数化查询,那么您需要确保字符被适当地转义以具有相同的行为,这是一项不平凡的任务(如果您想支持每个可能性)这就是为什么存在参数化查询来为您处理它的原因。