【发布时间】:2012-03-06 00:06:48
【问题描述】:
我知道在 Perl 中清理 sql 字符串的正确方法是使用 use a prepared statement,但是,这个特殊的 Perl 脚本正在生成稍后在不同环境中执行的语句,而不是 Perl。它没有要连接的数据库。
如何安全地转义字符串以插入 MySQL 查询。解决方案不必是可移植的。
【问题讨论】:
-
不要转义 SQL。使用占位符和参数绑定,即使您稍后执行。
-
只要确保你的所有字符串都不包含“Bobby tables”这个词
-
它们将在什么环境中执行?
-
@BrianRoach 是对的。准备使用占位符并与绑定的参数一起存储以备后用。如果您以某种方式进行序列化以运送到其他系统,则绑定的参数列表将与查询的一部分一样保存。