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.
我刚刚发现了 DBI https://metacpan.org/pod/DBI#Placeholders-and-Bind-Values中的占位符,它似乎可以很好地处理各种代码。我应该强迫逃跑吗?是否存在占位符会根据输入失败的情况?
如果你转义它们然后使用绑定占位符,它们最终会被双重转义,这不是你想要的。只需使用占位符。(即使输入是可信的,我也经常使用它们,因为它看起来更干净。)
很少有理由使用转义而不是占位符。一个例子是动态生成和操作一个查询作为一个 SQL 字符串,但你真的不应该这样做(CPAN 上有很多用于生成 SQL 的库)。
我所知道的占位符会根据输入而失败的唯一示例是,当您从字符串、LIMIT 子句或类似的(但同样是动态生成 SQL)中插入列名时就像我上面提到的那样。)
占位符 >> 手动转义