# 为什么应绑定 SQL 参数，而不是拼接字符串？

Canonical URL: https://help.iagenify.com/zh/faqs/databases/why-should-i-bind-sql-values-instead-of-joining-strings

[← 返回数据库常见问题](https://help.iagenify.com/zh/faqs/databases)

帮助中心 · 常见问题 数据库 1 分钟阅读
# 为什么应绑定 SQL 参数，而不是拼接字符串？
请将用户或工作流提供的值作为参数传入，而不要拼接到 SQL 文本中。参数绑定能将数据与 SQL 语法分开、降低注入风险并可靠处理引号；表名和列名仍需通过受控方式验证。
IaGenify
数据库

## 将数据与查询结构分开
直接把值插入 SQL 字符串时，引号和特殊字符可能改变数据库对语句的解释。恶意或意外的值可能修改条件，甚至追加非预期 SQL。
参数化语句会固定查询结构，并通过单独通道传递数据值。请使用数据库工具文档中规定的占位符语法，并在对应参数字段中提供值。
## 标识符和业务规则也要验证
参数通常代表数据值，而不是表名、列名或排序方向。如果查询需要选择标识符，请将输入映射到固定允许列表，而不是插入任意文本。
绑定参数不能替代输入验证：写入前仍要检查格式、范围和授权。审查查询结构并测试边界输入，确保操作只影响预期记录。 [← 返回数据库常见问题](https://help.iagenify.com/zh/faqs/databases)
