1

DBI https://metacpan.org/pod/DBI#Placeholders-and-Bind-Valuesでプレースホルダーについて知りましたが、さまざまなコードをかなりうまく処理しているようです。関係なく強制的に脱出する必要がありますか?入力に基づいてプレースホルダーが失敗するシナリオはありますか?

4

1 に答える 1

4

それらをエスケープしてからバインドされたプレースホルダーを使用すると、それらは二重にエスケープされてしまいますが、これはあなたが望むものではありません。プレースホルダーを使用するだけです。(入力が信頼できる場合でも、見た目がきれいなので、頻繁に使用します。)

プレースホルダーの代わりにエスケープを使用する理由はめったにありません。例としては、クエリをSQL文字列として動的に生成および操作する場合がありますが、実際にはそうすべきではありません(CPANにはSQLを生成するためのライブラリがたくさんあります)。

文字列の解釈で失敗しない入力に基づいてプレースホルダーが失敗することを私が知っている唯一の例は、文字列、LIMIT句などから列名を補間する場合です(ただし、これも動的にSQLを生成します)私が上で述べたように。)

プレースホルダー>>手動エスケープ

于 2012-09-24T05:07:23.770 に答える